资产文本以phpunit表示等价物

资产文本以phpunit表示等价物,phpunit,assertions,Phpunit,Assertions,我正在测试一个长网页中是否存在字符串。使用PHPUnit的assertRegExp,如果没有找到字符串,它将打印出整个页面,然后以匹配PCRE模式“/xxxxxx/”结束,根据I,应该能够指定第三条消息,如果测试失败,将打印出第三条消息。将打印该消息,然后是整页源。我想做的就是打印消息。在我以前的应用程序中使用Selenium时,我使用了assertTextPresent,它只会打印出文本被/没有找到的确认信息,而不会填充我的屏幕。 我曾尝试将assertRegExp包装在一个try catch

我正在测试一个长网页中是否存在字符串。使用PHPUnit的assertRegExp,如果没有找到字符串,它将打印出整个页面,然后以
匹配PCRE模式“/xxxxxx/”
结束,根据I,应该能够指定第三条消息,如果测试失败,将打印出第三条消息。将打印该消息,然后是整页源。我想做的就是打印消息。在我以前的应用程序中使用Selenium时,我使用了
assertTextPresent
,它只会打印出文本被/没有找到的确认信息,而不会填充我的屏幕。
我曾尝试将
assertRegExp
包装在一个try catch中,但它没有改变任何东西。

您可以尝试
assertContains()
而不是
assertRegExp()

PHPUnit负责打印出失败的文本,不同的assert方法会有所不同。这也许行得通

如果没有,请在大约php处打开一个问题,不要打印太多。

我使用getBodyText()方法获取所有页面内容,然后使用assertTextPresent()检查是否存在图案

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

该解决方案已通过最新的phpunit 4.7进行了阳性测试

我使用
assertTrue(stripos($haystack,$needle)!==false,“失败的断言消息”)

看起来是相同的结果。它打印我告诉它的消息,以及页面的整个来源:/