golang單元測試

随心行者發表於2024-11-26

Golang 中的單元測試是使用標準庫 testing 來實現的,編寫一個單元測試的步驟:

1、建立測試檔案:在 Go 專案的原始碼目錄下建立一個新的檔案(和被測程式碼檔案在同一個包),以 _test.go 為字尾名。例如,要測試net包中 dial.go 中的方法,在 net 包中建立一個名字為 dial_test.go 檔案。
2、匯入 testing 包:在測試檔案中匯入testing包,以使用相關的的函式和工具。
3、編寫測試函式:在測試檔案中,編寫一個以 Test 為字首的函式,後面跟上一個或多個字元或字元組合來標識測試用例的名稱(一般使用被測的函式名稱),引數必須是 t *testing.T。
4、編寫測試程式碼:如果認為測試不透過,當被測程式功能與預期不符,呼叫 t.Error 或 t.Errorf 方法記錄錯誤;如果出現了使測試無法繼續進行的錯誤,呼叫tFatal 和 t.Fatalf;如果測試函式體正常執行結束,沒有異常,則測試透過。
5、執行單元測試命令:

  1. 執行當前目錄中的所有測試

    • go test
  2. 執行並顯示詳細資訊

    • go test -v
  3. 執行特定包中的測試

    • go test ./mypackage
    • go test $GOPATH/src/myproject/mypackage
  4. 並行執行測試

    • go test -parallel=4
  5. 生成測試覆蓋率報告

    • go test -cover
  6. 生成並輸出覆蓋率報告到檔案

    • go test -coverprofile=coverage.out
    • go tool cover -func=coverage.out
    • go tool cover -html=coverage.out
  7. 執行特定名稱的測試

    • go test -run TestFunction
    • go test -run Example

相關文章