Java 代码覆盖率工具,支持JUnit测试的注释,以指定UnitTest覆盖的方法

Java 代码覆盖率工具,支持JUnit测试的注释,以指定UnitTest覆盖的方法,java,junit,code-coverage,metrics,Java,Junit,Code Coverage,Metrics,我正在为Java寻找类似PHPUnit的“”。这意味着一个代码覆盖率工具,它为我的JUnit测试提供了注释,以便我可以指定哪个JUnit测试使用哪个方法进行测试 这将对覆盖行产生更为正确的度量,因为只计算指定方法的行,而不是整个应用程序的所有执行行。这种方法听起来好像会给程序员带来沉重的负担。它或者假设测试和方法之间有1:1的对应关系(这与通常认为测试类的行为而不是方法的建议相反),或者要求程序员在代码重构和随时间变化时,通过私有方法等手动跟踪每个入口点的路径 很难看出如何使用类型安全性实现这一

我正在为Java寻找类似PHPUnit的“”。这意味着一个代码覆盖率工具,它为我的JUnit测试提供了注释,以便我可以指定哪个JUnit测试使用哪个方法进行测试


这将对覆盖行产生更为正确的度量,因为只计算指定方法的行,而不是整个应用程序的所有执行行。

这种方法听起来好像会给程序员带来沉重的负担。它或者假设测试和方法之间有1:1的对应关系(这与通常认为测试类的行为而不是方法的建议相反),或者要求程序员在代码重构和随时间变化时,通过私有方法等手动跟踪每个入口点的路径

很难看出如何使用类型安全性实现这一点——快速自动化操作(如方法重命名)需要手动步骤来更新测试中的注释

如果您的需求是对测试套件的有效性进行更准确的估计,您可以考虑的另一种方法是突变测试。这会在代码中植入错误,然后检查套件是否能够检测到它们

有许多系统可用于Java,包括

此处提供了它们的比较