十、单元测试与基准测试

℡╲_俬逩灬. 提交于 2020-03-17 09:01:01

Go 提供了 test 工具用于代码的单元测试,test 工具会查找包下以_test.go 结尾的文件,调用测试文件中以 Test 或 Benchmark 开头的函数并给出运行结果

单元测试指的是功能测试
基准测试指的是性能测试

1. Test 函数

测试函数需要导入 testing 包,并定义以 Test 开头的函数,参数为 testing.T 指针类型,在测试函数中调用函数进行返回值测试,当测试失败可通过 testing.T 结构体的 Error*函数抛出错误
在这里插入图片描述
测试文件名为go_test.go

2.测试覆盖率

这里的测试覆盖率表示测试代码 能测试代码的百分比
go test -v -coverprofile=cover.out test/gotest
在这里插入图片描述
这里的100%表示测试代码能测试多少代码

go tool cover -html cover.out
这个可以用web页面来观察 绿色代表可以测试的,如果没有被覆盖那么会是红色
在这里插入图片描述

3.基准测试

基准测试常用于代码性能测试,函数需要导入 testing 包,并定义以Benchmark 开头的函数,参数为 testing.B 指针类型,在测试函数中循环调用函数多次
在这里插入图片描述
测试文件名为bench_xxx.go

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!