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