phpunit overassertive
1.0.0
在同一個測試中擁有多個斷言是可以的,但是當一個斷言失敗時,整個測試將中止,並且同一測試中的其他斷言不會被測試。
根據您測試的內容以及編碼方式,您可能想要將某些測試拆分為多個子測試。
OverAssertive是一個 PHPUnit 擴展,它在控制台中直接報告哪些測試有「太多」斷言,其中「太多」是您定義的,以幫助您檢查並可能重構一些測試。
透過將以下內容新增至測試套件的phpunit.xml
檔案中,使用所有預設值啟用它:
<phpunit bootstrap="vendor/autoload.php"> … <聽眾> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" /> </聽眾> </phpunit>
如果您不使用自動載入器,您也可以指定庫位置:
<phpunit bootstrap="boostrap.php"> … <聽眾> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener" file="/path/to/OverAssertiveTestsListener.php" /> </聽眾> </phpunit>
現在正常運行您的測試套件。套件完成後,OverAssertive 將在控制台中報告斷言測試。
OverAssertive 有兩個可設定參數:
AlertThreshold - 將進行斷言測試的斷言數量(預設值:10 個斷言)
reportLength - 報告中包含的過度自信測驗的數量(預設值:10 個測驗)
新增監聽器時在phpunit.xml
中設定這些設定參數:
<phpunit ...><!-- ...其他套件配置在這裡... --><listeners> <listener class="OzhPHPUnitListenerOverAssertiveTestsListener"> <參數> <數組> <元素鍵=“警報閾值”> <整數>10</整數> </元素> <元素鍵=“報告長度”> <整數>10</整數> </元素> </數組> </參數> </聽眾> </聽眾> </phpunit>
非常感謝 phpunit-speedtrap
做任何你想做的事。