在Golang中,單元測試是通過編寫測試函數來完成的。測試函數的命名規則是:以Test
開頭,后面跟著要測試的函數名,并且接受一個*testing.T
類型的參數。測試文件應該與被測試的代碼文件放在同一個目錄下,并且以_test.go
為擴展名。
以下是一個簡單的示例,展示了如何在Golang中進行單元測試:
main.go
的文件,包含一個簡單的函數Add
:package main
func Add(a int, b int) int {
return a + b
}
main_test.go
的文件,用于編寫測試函數:package main
import (
"testing"
)
func TestAdd(t *testing.T) {
result := Add(1, 2)
expected := 3
if result != expected {
t.Errorf("Add(1, 2) = %d; want %d", result, expected)
}
}
在這個例子中,我們定義了一個名為TestAdd
的測試函數,它調用了Add
函數并將結果與預期值進行比較。如果結果與預期不符,測試將失敗,并輸出錯誤信息。
main.go
和main_test.go
的目錄,運行以下命令來執行測試:go test
如果測試通過,你將看到以下輸出:
PASS
ok your_module_name 0.XXXs
如果測試失敗,你將看到詳細的錯誤信息。
注意:在實際項目中,你可能需要編寫更多的測試用例來覆蓋各種邊界條件和異常情況。你可以使用testing
包提供的功能(如t.Run()
、t.Parallel()
等)來組織和優化你的測試代碼。