首页 >后端开发 >Golang >如何从 Go 测试覆盖率计算中排除生成的文件?

如何从 Go 测试覆盖率计算中排除生成的文件?

Patricia Arquette
Patricia Arquette原创
2024-11-30 16:07:17124浏览

How Can I Exclude Generated Files from Go Test Coverage Calculations?

在 Go 测试覆盖范围中忽略生成的文件

当测试包含带有“DO NOT EDIT”注释的生成文件的 Go 包时,不希望这些文件影响测试覆盖率计算。以下是解决此问题的方法:

使用带有 -coverprofile 标志的标准 go test 命令,通常会跨包中的所有文件(包括生成的文件)计算测试覆盖率。要从覆盖率报告中排除生成的文件:

  1. 生成覆盖率配置文件:运行 go test 。 -coverprofile cover.out.tmp。这会生成一个临时覆盖率配置文件 cover.out.tmp。
  2. 过滤生成的文件: 使用类似 cat cover.out.tmp | 的命令grep -v "_ generated.go" > > cover.out 创建一个新的配置文件 cover.out,排除以“_ generated.go”结尾的文件。
  3. 分析覆盖率: 执行工具 cover -func cover.out 生成覆盖率报告排除生成的文件。
  4. (可选)自动化流程: 在管道或 makefile 中实现此流程无缝集成。

通过执行以下步骤,您可以有效地计算 Go 包的覆盖率,根据需要排除生成的文件。

以上是如何从 Go 测试覆盖率计算中排除生成的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn