下面是一个test的一个小案例
// demo/equal.go
package demo
// a function to check if two numbers equals to each other.
func equal(a, b int) bool {
return a == b
}
// demo/equal_test.go
package demo
import (
"testing"
)
func TestEqual(t *testing.T) {
a := 1
b := 1
shouldBe := true
if real := equal(a, b); real == shouldBe {
t.Errorf("equal(%d, %d) should be %v, but is:%v\n", a, b, shouldBe, real)
}
}
···
对于上面的案例进行解释
1.对于测试equal.go文件需要在同级目录下建立一个equal_test.go的测试文件
2.在equal_test.go 下面可以写测试equal.go中方法的test方法,其中这个方法必须以大写的Test开头,并且采用大驼峰命名法进行书写,对于参数,返回值,应该提前定义完整。然后在t.Errorf或者是其他的方法中写测试完成的结果。
3.对于测试文件的命名应该遵循此文件名_test.go
命名的规则,不然也是无效的。
···
原文:https://blog.51cto.com/14263015/2393422