在go语言中 开发人员主要的测试手段也是可以利用标准库:testing下的,实现标准的自动化测试的功能。
testing 包需要go 命令 test 测试文件要和被测试文件名字对应。测试文件_test.gp结尾。
比如 service.go 对应 service_test.go
如果进行单元测试:需要在测试函数中指定 testing.T 的参数,然后利用这个结构体.erro进行输出。
有主要的四个函数: Log :等同于fmt.print Logf 等同于 fmt.fprint
fail: 标记失败 failNow 标记失败 并停止测试。
go test 会执行所有_test.go的文件。-v 可获取更详细的信息 -conver 获取用例对代码的覆盖率。
结构体testing.T的skip函数可以暂时跳过指定用例。
-short等同于上述作用。
如果想并行测试,需要调用结构体t。Paraller/函数 然后go test 命令时候 加 -paraller 后 加入 并行最大数量 比如10
基准测试
基准测试其实就是相当于测试程序的响应速度,在go 中需要利用testing.B的结构体
然后利用 命令行参数-bench 来进行测试。
结构体b.N一般是Go自己规定测试次数。go会自动调节
-run用于指定被需要的测试的用例 如果该用例不存在 则所有用例都不会被执行,用例如果存在 则只测试run的用例
http测试
主要利用testing/httptest完成测试,利用httptest.NewRecorder()创建http响应。
我们也可以自己写testmain函数 利用setup()和heardown ()来规定测试开始和结束//这俩个方法自己定义
利用结构体testing.M
GO三方测试框架
goCheck:利用其check和Assert方法来验证结果值
网友评论