2

ページが正常に機能し、無効な資格情報を拒否していること、つまり、ユーザーのダッシュボードにリダイレクトせず、 HTML クラス/loginでここで識別される警告メッセージを表示していないことをテストしたいと考えています。.alertそこで、次のようなテストを作成しました。

class AuthControllerTest extends Zend_Test_PHPUnit_ControllerTestCase {
    ...
    public function testUserFailingLogin() {

        $this->request->setPost(array(
            'email'  => 'wrong@email.com',
            'password' => 'wrongpassword',
        ));

        $this->request->setMethod('POST');
        $this->dispatch('/login');

        $this->assertQuery('.alert');
    }
}

私の問題は、assertQuery()メソッドがビュー ファイルのレンダリングに対して実行login.phtmlされており、Zend_Layout の設定 (.alertが表示されている場所) が含まれていないため、assertQuery()アサーションが常に失敗することです。

assert*Query*()「ビュー」部分だけでなく、完全な応答 (「レイアウト」+「ビュー」) を評価するアサーションを取得する方法はありますか?

4

1 に答える 1

-1

あなた(私)は、文書化されていないoutputBody()方法を使用する必要があります。

于 2012-10-01T05:10:55.123 に答える