2

我们在我们的 groovy 代码中使用了几个 AST 转换,例如@ToString@EqualsAndHashCode。我们使用这些,因此我们不必维护和测试它们。问题是代码覆盖率指标(现在使用 jacoco,但如果有帮助可以更改)不知道这些是自动生成的方法,它们会导致很多代码看起来未被发现,即使它实际上不是我们正在编写的代码。

有没有办法将这些从覆盖率指标中包含在任何工具中?

I guess you could argue that since we're putting the annotations we should still be testing the code being generated since a unit test shouldn't care how these methods are created, but just that they work.

4

1 回答 1

2

我对@Log 和它插入代码的条件有类似的问题。这被报告为(cobertura)缺乏分支覆盖。

但正如你所说:它只是正确地报告它。代码不包括在内。

如果您不需要该代码,则不应生成它。如果您需要它并瞄准完整的测试覆盖率,您必须对其进行测试或至少“锻炼”它,即,即使没有断言,也可以从您的测试用例中以某种方式使用它。

从测试方法的角度来看,不覆盖生成的代码与使用排除模式同样值得怀疑。从务实的角度来看,您可能只想忍受它。

于 2013-09-18T22:56:49.437 回答