一、概述
测试驱动开发永远是一个不过时的话题,一次实现多次利用,避免了手动测试的每次费时费力。
在Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试。
二、详情
2.1 单元测试规则
1、单元测试代码的go文件必须以_test.go结尾
2、函数名必须以Test开头,是可导出公开的函数。备注:函数名最好是Test+要测试的方法函数名
3、测试函数的签名必须接收一个指向testing.T类型的指针作为参数,并且该测试函数不能返回任何值
2.2 测试命令
go test -v main_test.go main.go
2.3 性能测试
go test -v -bench="BenchmarkSum$" --run=none main_test.go main.go
通过多次调用程序,总耗时来分析程序的性能,类似于AB压力测试。
2.4 测试覆盖率
Go提供内置功能来检查你的代码覆盖率。我们可以使用go test -cover
来查看测试覆盖率