对等号和哈希码进行开放式Pojo测试

问题描述 投票:0回答:1

我正在使用OpenPojo测试pojo,也正在测试equals和hashcode。在具有pojo类的包中,某些类同时具有方法,而某些类则没有。所以我收到测试错误。

我如何编写测试以检查哈希码并仅在类中存在哈希时才等于它?

谢谢

testing equals hashcode pojo
1个回答
0
投票

在测试仪中,您可以根据缺少的方法来决定跳过,但是,这的确提出了一个更为重要的问题,那就是为什么您只实现了其中的一对?

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

如果这些类将以任何Hash *集合(HashMap,HashTable等)或任何Set或由外部框架(例如Hibernate)缓存的形式结束,则将陷入严重麻烦,因为按照定义,java说如果类相等,则它们的hashCode必须相等;如果它们的hashCode不同,则它们不能相等。

See: Identity Management

© www.soinside.com 2019 - 2024. All rights reserved.