2012-10-23 44 views
1

我想測試一個字符串在長網頁中的存在。使用PHPUnit的assertRegExp如果找不到字符串,它會打印出整個頁面,然後按matches PCRE pattern "/xxxxxx/".完成根據documentation,如果測試失敗,我應該能夠指定一個將被打印出來的消息。該消息將被打印,然後是完整頁面源。我想要做的只是打印信息。在我以前的應用程序中使用硒我用assertTextPresent它只會打印出確認文本是/未找到,沒有填寫我的屏幕。 我曾嘗試將assertRegExp包裹在try-catch中,但它沒有改變任何東西。assertTextPresent相當於phpunit

回答

0

您可以嘗試assertContains()而不是assertRegexp()

PHPUnit負責打印出失敗的文本,這不同於一個斷言方法。它可能會工作。

如果沒有,請在PHPUnit's issue tracker處打開關於PHPUnit打印太多的問題。

+0

看起來像是一樣的結果。它會打印我告訴它的消息,以及頁面的整個源代碼:/ – Craig

0

我正在使用getBodyText()方法獲取所有頁面內容,並且使用assertTextPresent()檢查模式的存在。

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

此解決方案已使用最新的phpunit 4.7進行了正式測試。

0

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