Go 语言的测试用例编写主要基于内置的 testing 包,下面是一个简单的示例:
package main
import (
"testing"
)
// 测试用例
func TestAdd(t *testing.T) {
result := Add(2, 4)
if result != 6 {
t.Errorf("expect 6, but got: %d", result)
}
}
// 被测试的函数
func Add(a, b int) int {
return a + b
}
在这个示例中,我们定义了一个测试用例 TestAdd()
,并在里面调用了待测试的函数 Add()
,接着我们通过 Go 内置的测试辅助函数 t.Errorf()
来判断测试结果是否符合预期,如果测试不通过就会输出一个错误信息。
然后我们将整个项目的目录都放在 $GOPATH/src/
目录下,并通过命令行工具 go test
来运行测试,比如:
$ go test -v
=== RUN TestAdd
--- PASS: TestAdd (0.00s)
PASS
ok project/dir 0.001s
其中 -v
表示输出详细信息,我们可以看到测试通过了。如果测试不通过,会输出相应的错误信息。