golang 单测运行单个函数、文件、跳过文件命令
1、单测运行
1.1 运行某个单测函数
go test -v -run=xxx, xxx 是函数名,支持正则表达式;参数 -v 说明需要打印详情
提示
Golang 单测是根据前缀匹配来执行的,go test -v -run=xxx,所有以 xxx 为前缀的单测函数都会执行
1.2 运行某个单测文件所有单测函数
同时指定我们需要测试的test.go 文件和 它的源文件,比如 ab_test.go 文件记录了 aaa.go 和 bbb.go 的单测case,那么执行时除了加上 ab_test.go,还需要指定 aaa.go 和 bbb.go
go test -v aaa.go bbb.go ab_test.go
1.3 运行当前路径及子路径下所有单测文件内的单测函数
go test // 等同于 go test ./...
1.4 运行指定目录及所有子目录下的测试用例
方式一
进入到目标目录,执行 go test 或者 go test ./...
方式二
执行 go test my_module/...
2、单测覆盖率
2.1 运行单测时加上 -cover 参数,分析代码覆盖率
go test -cover -coverprofile=cover.out -covermode=count
注:
-cover 允许代码分析
-covermode 代码分析模式(set:是否执行;count:执行次数;atomic:次数,并发执行)不加该参数的话默认为 set
-coverprofile 输出结果文件,不加改参数的话默认为 cover.out
2.2 随后可以查看某个函数的覆盖情况
go tool cover -func=cover.out
2.3 可视化展示覆盖率详情,执行下面的命令,自动打开浏览器展示覆盖率
go tool cover -html=cover.out
参考:Go 单测入门篇:Golang 单元测试基本使用、go test执行当前项目所有test
by the way
所有以 _test.go结尾的文件都会被 golang 认为是单测文件,定义在这样的文件里的函数或者变量是无法被其他文件引用的,就算变量或者函数首字母大写也不行。

浙公网安备 33010602011771号