phpunit中的assertTextPresent等价物

时间:2012-10-23 20:41:13

标签: phpunit assertions

我正在尝试测试长网页中某个字符串的存在。如果找不到字符串,则使用PHPUnit的assertRegExp打印出整个页面然后用matches PCRE pattern "/xxxxxx/".完成根据documentation我应该能够指定一条消息,如果测试将打印出来的第三条消息失败。打印该消息,然后打印整页源。我想做的只是打印消息。在我以前的应用程序中使用Selenium,我使用了assertTextPresent,它只会打印出确认文本未找到的内容,而不会填满我的屏幕。 我尝试将assertRegExp包装在try-catch中,但它没有改变任何东西。

3 个答案:

答案 0 :(得分:0)

您可以尝试使用assertContains()代替assertRegexp()

PHPUnit负责打印失败的文本,这与一个断言方法不同。它可能会奏效。

如果没有,请在PHPUnit's issue tracker打开一个关于PHPUnit打印过多的问题。

答案 1 :(得分:0)

我使用getBodyText()方法获取所有页面内容,而不是使用assertTextPresent()来检查模式的存在。

 $this->assertTextPresent($this->getBodyText(), 'text to find');  

该解决方案已经过最新的phpunit 4.7测试。

答案 2 :(得分:0)

我使用assertTrue(stripos($haystack, $needle) !== false, 'Failed assertion message');