go之單元測試
阿新 • • 發佈:2018-11-27
cal.go
package testcase func sum(n int) int{ sum := 0 for i:=1;i<=n;i++{ sum += i } return sum } func sub(a,b int)int{ return a -b }
sum_test.go
package testcase import "testing" func TestSumCase(t *testing.T){ res := sum(10) if res != 55{ t.Fatalf("error occurred, expected %d, got %d",55,res) } t.Logf("successfully executed") }
sub_test.go
package testcase import "testing" func TestSubCase(t *testing.T){ res := sub(10, 3) if res != 7{ t.Fatalf("error occurred,expected %d,got %d",7, res) } t.Logf("successfully executed") }
進入testcase目錄下,輸入go test -v
C:\Users\Administrator\go\src\awesomeProject\testcase>go test -v === RUN TestSubCase --- PASS: TestSubCase (0.00s) sub_test.go:10: successfully executed === RUN TestSumCase --- PASS: TestSumCase (0.00s) sum_test.go:11: successfully executed PASS ok awesomeProject/testcase 0.061s
這是測試全部,如果只是測試單個檔案,go test -v sum_test.go cal.go
測試單個方法,go test -v -test.run TestSubCase