首页  >  文章  >  后端开发  >  如何在集成测试期间捕获 Go 代码覆盖率?

如何在集成测试期间捕获 Go 代码覆盖率?

DDD
DDD原创
2024-11-01 22:26:29403浏览

How Can I Capture Go Code Coverage During Integration Testing?

在集成测试期间捕获 Go 二进制文件的代码覆盖率

在 Go 中,在单元测试期间收集代码覆盖率指标非常简单。然而,在针对二进制文件本身运行的集成测试期间捕获覆盖率数据也是可取的。

可以完成吗?

是的,可以测量代码覆盖率涉及 Go 二进制文件的集成测试。然而,标准的 Go 覆盖工具只能与测试包结合使用。

解决方案:利用测试框架

要弥补这一差距,请将集成测试强制到Go 测试框架。这需要:

  1. 创建一个测试文件,在 go 例程中调用 main() 函数:

    func TestMainApp(t *testing.T) {
     go main()
     // .. then start your integration tests
    }
  2. 从运行中启动集成测试应用程序使用 exec.Cmd。
  3. 照常收集覆盖率统计信息。

其他参考

详细实现请参阅文章“通过外部测试进行覆盖”采用类似的方法。

以上是如何在集成测试期间捕获 Go 代码覆盖率?的详细内容。更多信息请关注PHP中文网其他相关文章!

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