我正在使用OpenPojo测试pojo,也正在测试equals和hashcode。在具有pojo类的包中,某些类同时具有方法,而某些类则没有。所以我收到测试错误。
我如何编写测试以检查哈希码并仅在类中存在哈希时才等于它?
谢谢
在测试仪中,您可以根据缺少的方法来决定跳过,但是,这的确提出了一个更为重要的问题,那就是为什么您只实现了其中的一对?
将在您的生产环境中导致P1,您将很难理解它是如何发生的。
如果这些类将以任何Hash *集合(HashMap,HashTable等)或任何Set或由外部框架(例如Hibernate)缓存的形式结束,则将陷入严重麻烦,因为按照定义,java说如果类相等,则它们的hashCode必须相等;如果它们的hashCode不同,则它们不能相等。
See: Identity Management