当前位置: 首页 > news >正文

如何使用golang自带工具对代码进行覆盖率测试

在 Go 语言中,测试代码覆盖率通常使用 go test 命令结合 -cover-coverprofile

1. 基本代码覆盖率报告

在项目目录下运行以下命令

go test -cover

这将在控制台输出一个代码覆盖率的百分比。但是,这种方式不会保存覆盖率数据(可以指定目录,如:./test)
在这里插入图片描述

2. 生成带覆盖率数据文件

go test -coverprofile=demo6.out

这将在当前目录下生成一个名为 demo6.out 的文件,该文件包含了详细的覆盖率数据。

3. 通过go tool 命令查看上一步生成的覆盖率信息

go tool cover -html=demo6.out

运行命令会自动打开浏览器,页面会显示哪些覆盖了那些未覆盖:在这里插入图片描述

4 查看具体函数覆盖率报告
go tool cover -func=demo6.out

如下
在这里插入图片描述

测试使用的代码

calculator.go

// mathutil/add.go
package demo6import "errors"func Add(a, b float64) float64 {return a + b
}func Subtract(a, b float64) float64 {return a - b
}func Multiply(a, b float64) float64 {return a * b
}func Divide(a, b float64) (float64, error) {if b == 0 {return 0, errors.New("division by zero")}return a / b, nil
}

calculator_test.go

package demo6import ("testing"
)
func TestAdd(t *testing.T) {Add(1,2)
}
func TestSubtract(t *testing.T)  {Subtract(1,2)
}

在这里插入图片描述

http://www.lryc.cn/news/354874.html

相关文章:

  • Android studio版本和Android gradle plugin版本对应表
  • JavaRedis-主从集群-分片-数据结构-回收处理-缓存问题
  • Java原生JDBC概览
  • C# 跨线程访问UI组件,serialPort1串口接收数据
  • D - New Friends(AtCoder Beginner Contest 350)
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(2)
  • Web组态可视化编辑器 快速绘制组态图
  • 怎样在网上赚点零花钱?推荐十个正规的赚钱兼职平台
  • 手动操作很麻烦?试试这个自动加好友神器吧!
  • 金额转大写
  • vue的axios配置超时时间;单个接口配置响应时间
  • leetcode-盛水最多的容器-109
  • VMware ESXi中安装Proxmox VE
  • Java(其十二)--集合·初级
  • 疯狂“造人”!美国两党共推新法案,5年培养100万AI及量子人才
  • Python 文件操作指南:使用 open 和 with open 实现高效读写
  • FasterNet代码阅读
  • Rust开源Web框架Salvo源码编译
  • 基于Java+SpringBoot+Mybaties-plus+Vue+elememt + uniapp 新闻资讯 的设计与实现
  • TCP—三次握手和四次挥手
  • 基于UDP的网络聊天室
  • 数组-两个升序数组中位数
  • 每日一题《leetcode--116.填充每个结点的下一个右侧结点》
  • 【MySQL精通之路】InnoDB(6)-磁盘结构(5)-Redolog
  • 【探索自然语言处理:构建一个简单的文本分类器】
  • 概率论统计——大数定律
  • vscode终端命令行前面出现两个conda环境名的问题决解方法
  • “AI黏土人”一夜爆火,图像生成类应用应该如何长期留住用户?
  • 【MySQL精通之路】SQL优化(1)-查询优化(12)-块嵌套循环和批处理Key访问联接
  • SQL使用函数给多个分表添加同一字段