2015-11-10 23 views
0

我正在使用OpenPojo测试pojos,我正在测试equals和hashcode。在包含pojo类的包中,有些类既有方法,也有一些类没有。所以我得到测试错误。打开Pojo测试等于和哈希码

我该如何编写一个测试来检查哈希码,并且只有当它们出现在类中时才等于它?

感谢

+0

大家好,我在包采取单独的类做到了。对于例如pojoClass = PojoClassFactory.getPojoClass(ClassName.class); pojoValidator.runValidation(pojoClass);谢谢。 – Khushi

回答

0

在您的测试,你可以决定跳过基于该方法缺失,但是,这确实引起一个更重要的问题,这就是为什么你会刚刚实施的对吗?

它会在您的生产环境中导致P1,您将很难理解它是如何发生的。

如果这些类将在任何Hash *集合(HashMap,HashTable等)中结束,或者由外部框架(例如Hibernate)进行任何Set或缓存,您将面临很大麻烦,因为根据定义, java说,如果类相等,它们的hashCode必须相等,如果它们的hashCode不同,它们不能相等。

参见:Identity Management