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

golang中的测试用例

一、问题描述:

使用golang开发项目的时候,需要对设计的功能进行测试,这时候就需要编写测试用例进行测试,为了对项目整体的测试用例有个整体把握,测试报告就必不可少了。

二、golang项目的测试用例编写规则

1、在Go中,测试代码通常与被测试的代码放在同一个包下,并且以_test.go为后缀,例如:add_test.go

2、测试用例的函数名要以Test开头,例如:

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

三、测试用例的运行

1、测试用例的运行:go test filename_test.go
2、指定某个测试函数运行:go test -run TestFunctionName
3、生成覆盖率:

  • 首先执行:go test -v -covermode=count -coverprofile=cover.out
  • 最后执行:go tool cover -html=cover.out -o cover.html
  • 这时候生成的覆盖率文件内容是:
    在这里插入图片描述

四、生成整个项目的测试报告及覆盖率

1、在main.go的同级目录执行命令:go test -covermode=count -coverprofile=coverprofile.cov -gcflags "all=-N -l" -run="^Test" -coverpkg=$(go list ./... | grep -v "/test" | tr '\n' ',') ./...
2、测试报告的生成需要依赖外部包,其步骤如下:

  • 首先下载该包:go get -u github.com/vakenbolt/go-test-report/
  • 执行测试报告生成命令:go test -v -json | go run github.com/vakenbolt/go-test-report
  • 输出结果如下图所示:
    在这里插入图片描述

详细的项目信息可以查看:https://gitcode.com/gh_mirrors/go/go-test-report


http://www.kler.cn/a/373964.html

相关文章:

  • C++例程:使用I/O模拟IIC接口(6)
  • 【Docker】docker compose 安装 Redis Stack
  • rk3568 , buildroot , qt ,使用sqlite, 动态库, 静态库
  • 网络-ping包分析
  • Vue进阶(贰幺贰)npm run build多环境编译
  • 音视频入门基础:MPEG2-PS专题(6)——FFmpeg源码中,获取PS流的视频信息的实现
  • 数据分析——大量数据进行分析
  • Spring Boot 3 + Spring Security + Knife4j 无法访问 Swagger 文档的问题及解决方案
  • 如何抓住鸿蒙生态崛起的机遇,解决开发挑战,创造更好的应用体验
  • Linux笔记--基础入门
  • aws 部署测试环境服务+ip域名绑定
  • 全国计算机等级考试二级
  • 【Fargo】17:vs工程转qt构建:QT6 不支持32bit转向qt5.15.2
  • MYSQL--完整性约束
  • AR基础知识:SLAM同时定位和构图
  • 计算机网络:网络层 —— 开放最短路径优先 OSPF
  • HTML入门教程23:HTML脚本
  • 深度了解flink(九) JobManager(3) HA分析
  • 智慧养老/社区养老/家政预约/老年护理 小程序
  • Certimate - 免费开源的 SSL 证书托管、自动续签工具,开发者维护 90 天免费证书的救星
  • 构建校园社团信息管理平台:Spring Boot技术的核心要点
  • Go 语言解析 yaml 文件的方法
  • 【idea】idea更新遇到的坑
  • 多用户商城系统的架构与实现
  • react-路由
  • YOLOv6-4.0部分代码阅读笔记-config.py