【发布时间】:2025-11-29 07:20:01
【问题描述】:
我正在寻找类似 PHPUnit 的用于 Java 的“Specifying Covered Methods”。这意味着一个代码覆盖工具,它为我的 JUnit 测试提供了注释,以便我可以指定哪个方法由哪个 JUnit 测试测试。
这样做的效果将是覆盖行上的更正确的度量,因为只计算指定方法的行,而不是整个应用程序的所有执行行。
【问题讨论】:
标签: java junit code-coverage metrics
我正在寻找类似 PHPUnit 的用于 Java 的“Specifying Covered Methods”。这意味着一个代码覆盖工具,它为我的 JUnit 测试提供了注释,以便我可以指定哪个方法由哪个 JUnit 测试测试。
这样做的效果将是覆盖行上的更正确的度量,因为只计算指定方法的行,而不是整个应用程序的所有执行行。
【问题讨论】:
标签: java junit code-coverage metrics
这种方法听起来好像会给程序员带来沉重的负担。它要么假设测试和方法之间存在 1:1 的对应关系(这违背了通常的建议来考虑测试类的行为,而不是方法),或者要求程序员通过私有方法等手动跟踪路由随着时间的推移,代码的每个入口点都会被重构和更改。
很难看出如何使用类型安全来实现这一点 - 快速自动化操作(例如方法重命名)需要手动步骤来更新测试中的注释。
如果您的要求是更准确地估计测试套件的有效性,您可能会考虑另一种方法是突变测试。这会将错误植入您的代码中,然后检查您的套件是否能够检测到它们。
有许多系统可用于 Java,包括
这里可以比较它们
【讨论】: