Go本身提供了一套轻量级的测试框架。符合规则的测试代码会在运行测试时被自动识别并执行。单元测试源文件的命名规则如下:在需要测试的包下面创建以“_test”结尾的go文件,形如[^.]*_test.go。
Go的单元测试函数分为两类:功能测试函数和性能测试函数,分别为以Test和Benchmark为函数名前缀并以*testing.T为单一参数的函数。
测试工具会根据函数中的实际执行动作得到不同的测试结果。功能测试函数会根据测试代码执行过程中是否发生错误来返回不同的结果,而性能测试函数仅仅打印整个测试过程的花费时间。
执行功能单元测试非常简单,直接执行go test命令即可。
go test xxxxx
性能单元测试的执行与功能测试一样简单,只不过调用时需要增加-test.bench参数而已。
go test-test.bench xxx.go