在Go中,單元測試和基準測試是通過使用內置的 testing 包來實現的。
單元測試的實現方式如下:
- 創建一個以 _test.go 結尾的新文件,例如 mypackage_test.go。
- 在文件中導入 testing 包和要測試的包。
- 創建以 Test 開頭的函數,函數簽名為 func TestXxx(t *testing.T),其中 Xxx 是要測試的函數名。
- 在測試函數中編寫測試邏輯,通過調用測試函數并使用 t.Run 來標識測試失敗。
- 使用 go test 命令運行測試。
基準測試的實現方式如下:
- 創建一個以 _test.go 結尾的新文件,例如 mypackage_benchmark_test.go。
- 在文件中導入 testing 和 testing/quick 包以及要測試的包。
- 創建以 Benchmark 開頭的函數,函數簽名為 func BenchmarkXxx(b *testing.B),其中 Xxx 是要測試的函數名。
- 在基準測試函數中編寫測試邏輯,通過調用被測試函數,并使用 b.N 來迭代測試次數。
- 使用 go test -bench 命令運行基準測試。
通過以上步驟,就可以在Go中實現單元測試和基準測試。