單元測試常用引數
使用--filter
引數指定單元測試執行的函式
vendor\bin\phpunit --filter test_oper
使用--coverage-html
引數指定生成**覆蓋率的html檔案目錄
vendor\bin\phpunit --coverage-html /tmp/log/phpunit
vendor\bin\phpunit --stop-on-error
第一次出錯或失敗時停止
vendor\bin\phpunit --stop-on-failure
--bootstrap
引數常常在測試執行前 先載入指定的依賴檔案 常常是composer裡的autoload.php
檔案
vendor\bin\phpunit --bootstrap /vendor/autoload.php
--configuration
或者-c
引數指定對應的phpunit.xml
檔案的路徑
vendor\bin\phpunit --debug
vendor\bin\phpunit -d key[=value]
使用@dataprovider
在測試函式的注釋中指明測試的資料提供函式 並依次接收所有引數,每組引數的最後乙個是期待的結果值
class
calccontrollertest
extends
testcase
/** * @dataprovider operprider
*/public
function
testoper($a
,$b,$c
,$expected
)public
function
operprider()
}
更多細節參考:
注釋名稱
注釋說明
@author
是@group
的別名
@group
設定測試使用組
@afterclass
指明此靜態方法應該於測試類中的所有測試方法都執行完成之後呼叫
@before
指明此方法應當在測試用例類中的每個測試方法開始執行之前呼叫
@beforeclass
指明此靜態方法應該於測試類中的所有測試方法都執行完成之前呼叫
@covers
指明測試方法想要對哪些方法進行測試
@covers classname::methodname
指明所標註的測試方法覆蓋指定的方法。
@covers classname
指明所標註的測試方法覆蓋給定類的全部方法。
@covers classname
指明所標註的測試方法覆蓋給定類以及其所有父類與介面的全部方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有 public 方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有 protected 方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有 private 方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有非 public 方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有非 protected 方法。
@covers classname::
指明所標註的測試方法覆蓋給定類的所有非 private 方法。
@covers ::functionname
指明所標註的測試方法覆蓋給定的全域性函式。
@coversnothing
指明不需要記錄**覆蓋率資訊
@expectedexception
指明期待的異常型別
@expectedexceptioncode
指明期待的異常錯誤碼
@expectedexceptionmessage
指明期待的異常錯誤資訊
@expectedexceptionmessageregexp
期待的異常錯誤資訊正則
@large
測試超過 60s會被標記為失敗
@medium
測試超過 10s會被標記為失敗
@small
測試超過 1s會被標記為失敗
@test
標記某個非test
開頭的函式能夠被當做測試函式進行測試
@dataprovider
指明提供引數的函式名稱
譯 Reduce(軟體編寫)(第五部分)
本文講的是 譯 reduce 軟體編寫 第五部分 array.reduce reducer accumulator any,current any any,initialvalue any accumulator any 2,4,6 reduce acc,n acc n,0 12const summ...
Python學習手冊(第五部分 模組)
注意 匯入只發生一次!如果需要乙個模組的 通過某種匯入後再一次執行,需要使用內建函式reload來實現。最好使用import直接匯入模組,使用from import 語句匯入的變數名可能會有問題。import匯入模組包的語句中的目錄路徑只能是以點號間隔的變數。相對匯入與絕對匯入 絕對匯入的格式為 i...
Job 儲存和持久化 第五部分
十.使用資料庫儲存 scheduler 資訊 載入 job 到資料庫中 在前面有一節,使用記憶體儲存 scheduler 資訊 我們談到關於在使用 ramjobstore 時如何載入 job 和 trigger 資訊到記憶體中。那麼 job 和 trigger 又是如何載入到資料庫中的呢?存在以下幾...