从 Go 二进制文件捕获代码覆盖率
运行单元测试时,捕获代码覆盖率非常简单。然而,在针对二进制文件本身的集成测试期间收集覆盖率指标可能具有挑战性。有没有办法克服这个障碍?
集成测试覆盖率的需求
集成测试提供了比单独的单元测试更全面的代码覆盖率视图。通过针对真实世界的输入运行二进制文件,我们可以评估代码在各种条件下的行为。
挑战
Go 覆盖率工具只能与测试包。这给通常不适合此框架的集成测试带来了问题。
解决方案:Go 测试框架中的集成测试
捕获集成测试的覆盖率,我们需要以某种方式将它们集成到测试包中。
<code class="go">func TestMainApp(t *testing.T) { go main() // ... Start integration tests here }</code>
其他资源
有关此主题的先前讨论,请参阅文章“通过外部测试进行覆盖”,探索了一种类似的方法。
以上是如何从针对 Go 二进制文件的集成测试中捕获代码覆盖率?的详细内容。更多信息请关注PHP中文网其他相关文章!