使用assertText()函数需要更清晰吗?

时间:2011-06-16 11:28:29

标签: cakephp simpletest

我已经为我的应用程序编写了自动化测试用例。下面是我用于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');
}

}

在测试用例中,即使字段的输入正确,它也总是给出错误。我得到的错误是这样的 (失败 C:\ xampplite \ htdocs \ spotchase \ app \ tests \ cases \ models \ user.test.php - > UserWebTestcase - > testLogin001)。 我在使用assertText()方法时真的很困惑。我应该如何使用这个assertText()方法以及我应该将哪些参数传递给此方法。请帮忙。

1 个答案:

答案 0 :(得分: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);
    }

所以它似乎只是在寻找页面中的实际文本,而不是按钮或其他元素。也许'welcome bob'会是一个更好的搜索