W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在執(zhí)行測試時,PHPUnit 可以進行一些額外的檢查,見下文。
默認情況下,PHPUnit 會更嚴格地對待事實上不測試任何內(nèi)容的測試。此項檢查可以用命令行選項 ?--dont-report-useless-tests
? 或在 PHPUnit 的配置文件中設置 ?beStrictAboutTestsThatDoNotTestAnything="false"
? 來禁用。
在啟用本項檢查后,如果某個測試未進行任何斷言,它將被標記為有風險。仿件對象中的預期同樣視為斷言。
PHPUnit 可以更嚴格對待意外的代碼覆蓋。此項檢查可以用命令行選項 ?--strict-coverage
? 或在 PHPUnit 的配置文件中設置 ?beStrictAboutCoversAnnotation="true"
? 來啟用。
在啟用本項檢查后,如果某個帶有 ?@covers
? 標注的測試執(zhí)行了未在 ?@covers
? 或 ?@uses
? 標注中列出的代碼,它將被標記為有風險。
此外,通過在 PHPUnit 的配置文件中設置 ?forceCoversAnnotation="true"
?,可以將沒有 ?@covers
? 標注的測試標記為有風險。
PHPUnit 可以更嚴格對待測試執(zhí)行期間產(chǎn)生的輸出。 此項檢查可以用命令行選項 ?--disallow-test-output
? 或在 PHPUnit 的配置文件中設置?beStrictAboutOutputDuringTests="true"
? 來啟用。
在啟用本項檢查后,如果某個測試產(chǎn)生了輸出,例如,在測試代碼或被測代碼中調(diào)用了 print,它將被標記為有風險。
如果安裝了 ?PHP_Invoker
? 包并且 ?pcntl
?擴展可用,那么可以對測試的執(zhí)行時長進行限制。此時間限制可以用命令行選項 ?--enforce-time-limit
? 或在 PHPUnit 的配置文件中設置 ?enforceTimeLimit="true"
? 來啟用。
帶有 ?@large
? 標注的測試如果執(zhí)行時間超過 60 秒將視為失敗。此超時限制可以通過配置文件中的 ?timeoutForLargeTests
?屬性進行配置。
帶有 ?@medium
? 標注的測試如果執(zhí)行時間超過 10 秒將視為失敗。此超時限制可以通過配置文件中的 ?timeoutForMediumTests
?屬性進行配置。
帶有 ?@small
? 標注的測試如果執(zhí)行時間超過 1 秒將視為失敗。此超時限制可以通過配置文件中的 ?timeoutForSmallTests
?屬性進行配置。
需要啟用運行時間限制的測試必須顯式地標注為 ?@small
?、?@medium
? 或 ?@large
?
PHPUnit 可以更嚴格對待篡改全局狀態(tài)的測試。此項檢查可以用命令行選項 ?--strict-global-state
? 或在 PHPUnit 的配置文件中設置 ?beStrictAboutChangesToGlobalState="true"
? 來啟用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: