2011-11-08 68 views
2

我安裝了PHPUnit3.6.2並試圖運行簡單的測試。 如果測試成功,則沒有問題:phpunit報告測試是可以的。 但是如果在測試中出現任何錯誤,PHPUnit報告什麼都沒有!沒有失敗和錯誤文本,test.php中沒有行,只是空行。PHPUnit不報告不成功測試

如果可以幫助:在瀏覽器代碼結尾getLocation()方法。但我沒有在我的測試中使用這種方法。 爲什麼會發生這種情況?

另外我應該補充一句:如果在測試中使用某些元素,那麼不會出現在網頁上(例如x-路徑錯誤的按鈕)。並且在測試中有這個按鈕的動作:

$this->clickAt("wrong x-path"); 

phpunit也不顯示錯誤報告。它繼續運行。看起來它發現了這個按鈕並點擊了它。但頁面上沒有這樣的按鈕。

沒有錯誤,沒有失敗,測試不會停止...

+1

需要檢查的事項:a)是否有致命錯誤? b)你打電話給'exit()'? c)測試是否成功?它會幫助你粘貼測試運行的完整輸出,包括PHPUnit版本,時間和斷言計數。 –

+0

除了已經問過的問題之外:您是否將錯誤報告設置爲max,並在您的php.ini中打開顯示錯誤,因爲您遇到解析器錯誤 – edorian

+0

a)是否有致命錯誤? - 在這個測試中沒有致命的錯誤。 b)你打電話給exit()嗎? - 爲什麼我應該調用exit()? c)測試是否成功? - 這個測試是成功的,但是我添加了一個斷言,這是一個斷言,因爲我想檢查已安裝的phpunit的正確工作。在另一臺計算機上,此測試運行正確而且phpunit顯示出現故障:「boolean:true is false」。 錯誤報告在我的php.ini中: error_reporting = E_ALL&〜E_DEPRECATED – Evgeniya

回答

2

您對硒測試很感興趣。格式化故障報告(顯示發生故障的URL)時,由PHPUnit調用getLocation()。您應該嘗試一些簡單的(非Selenium)PHPUnit測試來查看失敗/錯誤報告是否可用,因此您可以將其縮小到Selenium或PHPUnit本身。