1

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

4

3 回答 3

0

您可以尝试assertContains()代替assertRegexp().

PHPUnit 负责打印出失败的文本,这与一种断言方法不同。它可能会起作用。

如果没有,请在PHPUnit 的问题跟踪器上打开一个关于 PHPUnit 打印过多的问题。

于 2013-01-02T08:54:39.030 回答
0

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

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

该解决方案已使用最新的 phpunit 4.7 进行了积极测试。

于 2015-06-10T12:06:29.883 回答
0

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

于 2015-06-11T18:23:25.257 回答