团队领导的问题之一是团队中的人(有时甚至包括我自己)经常在没有任何测试功能的情况下创建 JUnit 测试。
这很容易完成,因为开发人员使用他们的 JUnit 测试作为工具来启动他们正在编码的应用程序的一部分,然后故意或忘记将其签入,而无需任何断言测试或模拟验证。
后来人们忘记了测试是不完整的,但它们通过并产生了很好的代码覆盖率。运行应用程序并通过它提供数据将创建来自 Cobertura 或 Jacoco 的高代码覆盖率统计信息,但除了它在不崩溃的情况下运行的能力之外没有任何测试 - 我什至已经看到使用大的 try-catch 块解决了考试。
是否有可以测试测试的报告工具,这样我就不需要经常查看测试代码?
我暂时兴奋地发现Jester通过更改被测代码(例如 if 子句)并重新运行它以查看它是否会破坏测试来测试测试。
但是,这不是您可以设置为在 CI 服务器上运行的东西 - 它需要在命令行上进行设置,如果不显示其 GUI 就无法运行,只能将结果打印到 GUI 上,而且运行时间也很长。