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

如何从 Go 测试覆盖范围中排除生成的文件?

Mary-Kate Olsen
发布: 2024-12-12 12:11:11
原创
832 人浏览过

How to Exclude Generated Files from Go Test Coverage?

从 Go 测试覆盖范围中排除生成的文件

使用 go test -coverprofile=cover.out 运行 Go 包测试时;,生成的文件包含在覆盖率计算中。要排除这些生成的文件,请考虑以下方法:

从覆盖配置文件中剥离生成的代码

  1. 运行测试并使用 go test 生成临时覆盖配置文件。 -coverprofile cover.out.tmp.
  2. 使用 grep 解析临时配置文件,过滤掉包含“_ generated.go”的行,它代表生成的文件。
  3. 创建最终的覆盖配置文件 cover.out通过重定向过滤后的输出。使用命令 cat cover.out.tmp | grep -v "_ generated.go" > > cover.out.
  4. 使用工具 cover -func cover.out.

管道集成

取决于工具使用后,此过程可以轻松集成到您的构建/测试管道中。例如,如果使用 Make,您可以包括以下步骤:

test:
    go test -coverprofile cover.out.tmp .
    cat cover.out.tmp | grep -v "_generated.go" > cover.out
    tool cover -func cover.out
登录后复制

通过从覆盖率计算中排除生成的文件,您可以获得更准确的覆盖率指标,重点关注您手动编写的代码。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板