0

アプリケーションの自動化テスト ケースを作成しました。以下は、Web テストに使用したサンプル コードです。

クラス UserWebTestcase は CakeWebTestCase を拡張します{

var $name='UserWebTestcase';

function testLogin001()
{
    //Test if new user registration form works as intended when all the inputs are given properly.
    $this->get(Configure::read('url'));
    $this->setField('email', 'admin45@gmail.com');
    $this->setField('tmppassword', 'admin123');
    $this->setField('password_confirm', 'admin123');
    $this->clickSubmit('SUBMIT');
    $this->assertText('login');
}

}

テストケースでは、フィールドの入力が正しい場合でも、常に false になります。このようなエラーが発生しました (Failed C:\xampplite\htdocs\spotchase\app\tests\cases\models\user.test.php -> UserWebTestcase - > testLogin001)。assertText() メソッドを使用している間、私は本当に混乱しています。この assertText() メソッドをどのように使用すればよいですか? また、このメソッドにどのパラメータを渡す必要がありますか? 助けてください。

4

1 に答える 1

0

これはcakephpメソッドではありませんが、最も単純なメソッドです。

以下は実際の方法です

   /**
     *    Will trigger a pass if the text is found in the plain
     *    text form of the page.
     *    @param string $text       Text to look for.
     *    @param string $message    Message to display.
     *    @return boolean           True if pass.
     *    @access public
     */
    function assertText($text, $message = '%s') {
        return $this->assert(
                new TextExpectation($text),
                $this->_browser->getContentAsText(),
                $message);
    }

したがって、ボタンやその他の要素ではなく、ページ内の実際のテキストを探しているだけのようです。多分「ウェルカムボブ」はより良い検索でしょう

于 2011-06-16T13:03:22.543 に答える