go语言单元测试demo
package mymath func Add(a, b int) int { return a + b } func Max(a, b int) (ret int) { ret = a if b > a { ret = b } return }
package mymath_test import ( "mymath" "testing" ) type mathTest struct { a, b, ret int } var addTest = []mathTest{ mathTest{4, 6, 10}, mathTest{5, 6, 11}, mathTest{2, -6, -4}, } var maxTest = []mathTest{ mathTest{3, 5, 5}, mathTest{-3, 5, 5}, mathTest{-3, -5, -3}, } func TestAdd(t *testing.T) { for _, v := range addTest { ret := mymath.Add(v.a, v.b) if ret != v.ret { t.Errorf("%d add %d, want %d, but get %d", v.a, v.b, v.ret, ret) } } } func TestMax(t *testing.T) { for _, v := range maxTest { ret := mymath.Max(v.a, v.b) if ret != v.ret { t.Errorf("the max number between %d and %d is want %d, but get %d", v.a, v.b, v.ret, ret) } } }
测试文件 mymath_test.go(所有测试文件都必须以*_test.go结尾)
执行 go test