首页 > 其他分享 >go test及覆盖测试

go test及覆盖测试

时间:2024-09-24 15:46:05浏览次数:10  
标签:testing test 测试 测试函数 go Go

go test 是 Go 语言的内置工具,用于自动化测试 Go 代码。

1、测试文件结构

  • 测试文件名必须以 _test.go 结尾。例如:example_test.go。

  • 测试函数名称必须以 Test 开头,参数类型为 *testing.T

2、测试命令

在当前目录运行所有测试

go test

运行特定的测试函数

go test -run Testfunc

查看代码覆盖率

go test -cover

生成详细的测试覆盖率报告

go test -coverprofile=coverage.out
go tool cover -func=coverage.out

3、额外测试

基准测试

基准测试函数以 Benchmark 开头,参数类型为 *testing.B

go test -bench=.

并发测试

使用 Go 的 t.Parallel() 方法

func TestAdd(t *testing.T) {
    t.Parallel()
    result := Add(1, 2)
    if result != 3 {
        t.Errorf("Add(1, 2) = %d; want 3", result)
    }
}

4、其他常用标志

-timeout:设置测试的超时时间。例如,-timeout 30s。

-coverpkg:计算多个包的覆盖率。

-short:运行短测试,跳过长时间运行的测试。

-json:以 JSON 格式输出测试结果。

标签:testing,test,测试,测试函数,go,Go
From: https://www.cnblogs.com/itsfei/p/18429296

相关文章

  • The 2024 ICPC Asia EC Regionals Online Contest (II)
    A-GamblingonChoosingRegionals题意\(k\)场比赛,每场比赛每个大学至多\(c_i\)个队;总\(n\)个队伍,每队有分数与所属大学两个属性,每只队伍至多参加\(2\)场比赛。求各个队在最坏情况下的最优排名。思路最坏情况就是你打哪场,强队都去哪场,就选\(c_i\)小的场次,能让排名更靠......
  • 基于django+vue摄影交流系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着数字技术的飞速发展,摄影艺术已成为大众生活中不可或缺的一部分,它不仅记录着生活的点滴,更是个人情感与创意表达的重要方式。然而,在摄影......
  • 基于django+vue社会公益服务平台的设计与实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着社会的快速发展和人们公益意识的日益增强,社会公益活动已成为连接社会各界、促进资源合理配置与共享的重要桥梁。然而,传统公益模式在信......
  • 基于django+vue商品分析与管理系统的设计和实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着电子商务的迅猛发展,商品种类与数量呈爆炸式增长,企业面临着前所未有的商品管理挑战。传统的手工或简单信息化管理方式已难以满足当前复......
  • 基于django+vue热点新闻搜索系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,信息爆炸式增长已成为现代社会的重要特征。每日海量的新闻资讯充斥着各类媒体平台,用户如何快速、准确地从浩如烟......
  • 2024.9.24 test
    十三联测#7B已知有一棵树,有\(n-1\)次操作,每次操作之前没有操作过的点\(x\):新建节点\(x+n\),并扫描原树上与\(x\)连接的点\(j\),若存在\((j+n,x)\)的边就删掉,换成\((j+n,x+n)\)。否则,加入\((x+n,j)\)这条边。每次操作完询问生成树的个数。\(n\le5000\)。非常难......
  • UIOTOS示例:自定义弹窗输出表单数据 | 前端低代码 前端零代码 web组态 无代码 amis gov
    目标对话框作为容器组件,可以隐藏掉默认的窗体头和脚,完全由内嵌页自定义,参见对话框自定义外观。并且也能获取弹窗纯表单数据,如下所示: 步骤内嵌页1.新建略。2.拖放组件拖放三个输入框,标识分别施志伟id、name、phone;两个按钮标识分别设置为cancel和ok 主页面1.新......
  • 2024-09-18:用go语言,给定一个从 0 开始的长度为 n 的正整数数组 nums 和一个二维操作数
    2024-09-18:用go语言,给定一个从0开始的长度为n的正整数数组nums和一个二维操作数组queries,每个操作由一个下标值indexi和一个数值ki组成。开始时,数组中的所有元素都是未标记的。依次执行m次操作,每次操作的过程如下:1.如果下标indexi对应的元素还未标记,则标记这个元素......
  • 2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数
    2024-09-14:用go语言,给定一个正整数数组nums,定义一个加密函数encrypt(x),其将一个整数x的每一位数字都替换为x中的最大数字,然后返回加密后的数字。例如,encrypt(523)会返回555,encrypt(213)会返回333。现在需要计算数组中所有元素加密后的和,然后返回这个和。输入:nums=[10,2......
  • Google Photos 利用 AI 驱动的视频预设重新设计视频编辑器
    在更新了“收藏”标签和搜索功能后,GooglePhotos现在正在推出其手机视频编辑器的重新设计。目标是让用户“比以往更容易地编辑喜欢的视频,制作成精彩片段分享。”GooglePhotos将主要的编辑工具放在“视频”标签的显眼位置。时间轴下方可以看到以下工具:静音增强:“一键增强颜......