單元測試測試單一函數或小片段邏輯,以確保修改後程式碼仍如預期運作。實戰案例包括編寫函數、建立測試檔案、定義測試案例並使用 t.Errorf 報告測試失敗。最佳實踐包括為每個函數編寫測試、使用有意義的測試案例名稱、測試各種輸入、經常運行測試並保持測試簡單。

Go 語言函數的單元測試
介紹
單元測試是測試程式碼庫中的單一函數或小片段邏輯的過程。它們有助於確保在修改後程式碼仍然按預期運行,並減少引入錯誤的風險。
實戰案例
考慮以下函數,該函數計算兩個數字的和:
1 2 3 | func Sum(a, b int) int {
return a + b
}
|
登入後複製
要測試此函數,我們可以建立一個測試檔案並使用 testing
套件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import (
"testing"
)
func TestSum(t *testing.T) {
testCases := []struct {
a, b, expected int
}{
{1, 2, 3},
{3, 5, 8},
{-1, -2, -3},
}
for _, tc := range testCases {
result := Sum(tc.a, tc.b)
if result != tc.expected {
t.Errorf( "预期 %d,但得到 %d" , tc.expected, result)
}
}
}
|
登入後複製
執行測試
使用以下命令編譯並執行測試:
如果所有測試都通過,您將看到如下輸出:
1 2 | PASS
ok github.com/username/mypackage 0.004s
|
登入後複製
最佳實踐
- 對於每個函數或邏輯區塊編寫一個測試函數。
- 使用有意義的測試案例名稱。
- 測試各種輸入和邊界情況。
- 使用
t.Errorf
報告測試失敗。
- 保持測試簡單且容易理解。
- 經常執行測試以確保程式碼的正確性。
以上是golang函數的單元測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!