【发布时间】:2011-12-17 09:21:46
【问题描述】:
我正在开发一个 Java 项目,其中我有一个 ant 构建,它运行由 Cobertura 监控的 JUnit 测试。效果很好,我们的覆盖率一直很高。对于某些类,例如 Hibernate 实体,我们在其中包含最少的代码,但具有 equals 和 hashCode 方法。测试这些是一个巨大的痛苦,并且会降低覆盖率。我们已经尝试使用EqualsVerifier 两个类相互引用,这在 Hibernate 实体中经常发生。
我们曾考虑使用 Commons EqualsBuilder,但后来我们失去了让 IDE 自动生成 equals/hashCode 方法的能力。我知道 EqualsBuilder 也可以通过反射来完成,但我们不想仅仅因为构建时单元测试覆盖而失去运行时性能。
如果我们可以告诉 Cobertura 忽略 equals 和 hashCode 方法,理想的情况是,但是那里的补丁要求我们注释我们的类,这似乎有点尴尬。
所以,我希望从其他人那里得到关于在这种情况下什么效果好的想法。有人对如何完成这项工作有任何想法吗?
谢谢!
【问题讨论】:
标签: java unit-testing tdd equals cobertura