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.gobbb.go 的单测case,那么执行时除了加上 ab_test.go,还需要指定 aaa.gobbb.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 认为是单测文件,定义在这样的文件里的函数或者变量是无法被其他文件引用的,就算变量或者函数首字母大写也不行。

posted @ 2023-02-19 14:04  Lucky小黄人^_^  阅读(839)  评论(0)    收藏  举报