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 认为是单测文件,定义在这样的文件里的函数或者变量是无法被其他文件引用的,就算变量或者函数首字母大写也不行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 二叉树的前序和中序遍历的非递归实现