编程语言
首页 > 编程语言> > Java代码覆盖范围的想法?

Java代码覆盖范围的想法?

作者:互联网

我正在开发一个Java项目,我有一个ant build,它运行JUnit测试,由Cobertura监控.这很有效,我们的报道非常高.对于某些类,比如Hibernate实体,我们在其中只有最少的代码,但是有equals和hashCode方法.测试这些是一个巨大的痛苦,并拖累覆盖率百分比.我们已经尝试过使用EqualsVerifier两个类相互引用,这些类经常出现在Hibernate实体中.

我们考虑过使用Commons EqualsBuilder,但是我们失去了让IDE自动生成equals / hashCode方法的能力.我知道EqualsBuilder也可以通过反射完成,但我们不希望仅为构建时单元测试覆盖率而失去运行时性能.

理想的情况是,如果我们可以告诉Cobertura只是忽略equals和hashCode方法,但那里的补丁需要我们注释我们的类,这看起来有点尴尬.

所以,我希望其他人能够在这种情况下运作良好的想法.有没有人对如何完成这个有任何想法?

谢谢!

解决方法:

在我看来,你需要做出决定:equals和hashCode都不重要,在那种情况下你应该忽略< 100%代码覆盖率指标(或弄清楚如何忽略方法).或者它们很重要,你应该编写单元测试来练习它们.它可能不是很有趣,但听起来你关心这些方法是否正常工作.在这种情况下,您可能需要测试它们.

标签:java,unit-testing,tdd,equals,cobertura
来源: https://codeday.me/bug/20190530/1185768.html