如果我運行下面的爲什麼`去測試 - 運行NotExist`傳遞?
go test -run NotExist
的響應是PASS。看到我的測試文件不包含測試稱爲TestNotExist
我期望上面的命令返回失敗
如果我運行下面的爲什麼`去測試 - 運行NotExist`傳遞?
go test -run NotExist
的響應是PASS。看到我的測試文件不包含測試稱爲TestNotExist
我期望上面的命令返回失敗
沒有-run
選項go test
運行所有測試。您使用-run
選項不運行所有測試;到過濾掉,以排除測試(和你的需要名的非排他性測試比賽正規表達式的形式做到這一點 - 但,這是無關緊要的形式的討論點):
默認情況下,去測試需求沒有參數。它用當前目錄中的源代碼編譯和測試包,包括測試,並運行測試。
-run regexp Run only those tests and examples matching the regular expression.
這是一個完全「正常」的結果,一個過濾過濾掉所有的測試,沒有測試仍然是一套仍需執行的測試。
當沒有測試FAIL時,它被認爲是測試運行PASSes。如果沒有測試匹配,則不會運行測試,也不會有測試失敗,因此測試運行將會通過。
因爲您指定的所有測試都沒有通過,換句話說,您沒有測試失敗。 – JimB
這種行爲並沒有什麼意義,我期望它能說出類似「Test'NotExist''找不到的東西' – mozey
這只是每個人都同意的行爲。通常如何在不執行任何測試的情況下運行基準測試,或者檢查測試編譯錯誤。 – JimB