测试
单元测试
引入单元测试
注意点
- 文件命名 xxx_test.go
- 方法命名 Test[^a-z]开头
- 测试方法参数 t *testing.T
- 文件&被测试文件 需要在同一个包里
附加参数
- go test 会执行该包下面的所有测试用例
- -v会显示每个用例的测试结果
- -cover会显示测试覆盖率(测试代码是否覆盖了代码的所有逻辑)
- -run TestAdd可以指定要运行的测试用例,支持部分正则表达式
- -count 运行测试的次数, go test -count 2
- -timeout 设置运行测试的超时时间,go test -timeout 1s
Table Driven
表驱动法
go test命令
太多啦
helper
t.Helper()用于标注当前的函数为测试辅助函数。
测试发生错误后,并不会输出setupTest的调用信息,而是显示错误位置在TestAdd中,这也有个好处,当有多个测试函数调用helper函数时,可以准确的知道发生错误的是哪个测试函数
辅助函数最好不要返回error