如何在覆盖率报告中包含* _test.go文件

时间:2018-08-08 18:25:37

标签: testing go

我想知道是否有一种方法可以生成覆盖率报告,其中还包括测试本身覆盖的语句。

关于这样做的好处,我希望看到我的测试与其余代码一样有用。我已经习惯于将测试代码覆盖范围包括在python中,这对我有帮助。

更新以进行澄清:

人们似乎认为我在谈论测试测试。我不是。我只是想看看我的测试中的陈述肯定被击中了。例如,应用程序中某个函数的代码覆盖范围可能会告诉我所有内容都已被击中,但不一定表明每个边界都已经过测试。看到测试源中出现的陈述表明我编写的测试足够好。是的,分解因子更好的代码不应太复杂以至于不需要那种保证,但是有时候情况不会更好。

2 个答案:

答案 0 :(得分:2)

我不确定我理解这背后的原因。

单元测试(尤其是在Go中)应该足够简单明了,以至于只要阅读它们就可以发现语句是否无用。

如果不是这种情况,也许您正在以过于复杂的方式实施单元测试?

在这种情况下,我建议您在大多数情况下检查table-driven tests(尽管不适合大多数并发代码或依赖状态的方法),并建议尝试TDD(测试驱动的开发)。

通过使用TDD,您将无需编写测试来覆盖所有代码,而是编写简单的测试来验证代码规范。

答案 1 :(得分:0)

您不会为测试编写测试。如果这样做的话,到那时候结束呢?这些测试不包括在内。您需要为测试编写测试。可是等等!这些测试的测试没有涵盖范围,因此您最好为测试编写测试,再为测试编写测试。