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 @   Lucky小黄人^_^  阅读(597)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
历史上的今天:
2020-02-19 剑指offer 38. 二叉树的深度
2020-02-19 剑指offer 16. 合并两个有序链表
2020-02-19 剑指offer 15.链表反转
2020-02-19 剑指offer 58.对称的二叉树
2020-02-19 剑指offer 62. 二叉搜索树的第 k 个结点 & leetcode 精选top面试题 230. 二叉搜索树中第K小的元素
2020-02-19 二叉树的前序和中序遍历的非递归实现
点击右上角即可分享
微信分享提示