o語言自帶了 testing 測試包,可以進行自動化的單元測試,輸出結果驗證,並且可以測試性能。
- 在命名文件時文件名必須以_test.go結尾
- 每個測試用例的名稱需要以測試函數的名稱要以Test或Benchmark開頭,,後面可以跟任意字母組成的字符串,但第一個字母必須大寫,例如 TestAbc()
- 測試用例文件不會參與正常源碼的編譯,不會被包含到可執行文件中
- 需要使用 import 導入 testing 包
- 單元測試則以(t *testing.T)作爲參數,性能測試以(t *testing.B)做爲參數
- 測試用例文件使用go test命令來執行,源碼中不需要 main() 函數作爲入口,所有以_test.go結尾的源碼文件內以Test開頭的函數都會自動執行。
Go語言的 testing 包提供了三種測試方式,分別是單元(功能)測試、性能(壓力)測試和覆蓋率測試。
user_manager_test.go
package main
import "testing"
func TestCreateUser(t *testing.T) {
user := CreateUser()
if user!="success"{
t.Error("測試失敗")
}
}
func BenchmarkCreateUser(b *testing.B) {
for i := 0; i < b.N; i++ {
CreateUser()
}
}