GO 的单元测试
xxx.go 的单元测试对应于 xxx_test.go,这是 Go 工程的命名规则。
《GO 语言编程》17 页关于单元测试的部分,有一点不太合理。
//add_test.go
package simplemath
import "testing"
func TestAdd1(t *testing.T) {
r := Add(1, 2)
if r != 4 {
t.Errorf("Add(1, 2) failed. Got %d, expected 3.", r)
}
}
go test simplemath
--- FAIL: TestAdd1 (0.00s)
add_test.go:9: Add(1, 2) failed. Got 3, expected 3.
FAIL
FAIL simplemath 0.033s
//add_test.go
改一下,是不是更好。
package simplemath
import "testing"
func TestAdd1(t *testing.T) {
r := 4
if r != Add(1, 2) {
t.Errorf("Add(1, 2) failed. Got %d, expected 3.", r)
}
}
go test simplemath
--- FAIL: TestAdd1 (0.00s)
add_test.go:9: Add(1, 2) failed. Got 4, expected 3.
FAIL
FAIL simplemath 0.037s
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)