Testing equals和hashcode的openpojo测试

Testing equals和hashcode的openpojo测试,testing,equals,hashcode,pojo,Testing,Equals,Hashcode,Pojo,我正在使用OpenPojo测试POJO,我也在测试equals和hashcode。在包含pojo类的包中,有些类同时具有两种方法,而有些类则没有。所以我得到了测试错误 我如何编写一个测试来检查hashcode和equals,只要它们在类中存在 感谢您的测试人员,您可以根据缺少哪种方法来决定跳过,但是,这确实提出了一个更重要的问题,这就是为什么您只需要实现其中一种方法 这将在您的生产环境中导致P1,您将很难理解它是如何发生的 如果这些类最终出现在任何Hash*集合(HashMap、HashTabl

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

我如何编写一个测试来检查hashcode和equals,只要它们在类中存在


感谢您的测试人员,您可以根据缺少哪种方法来决定跳过,但是,这确实提出了一个更重要的问题,这就是为什么您只需要实现其中一种方法

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

如果这些类最终出现在任何Hash*集合(HashMap、HashTable等)或任何集合中,或者被外部框架(如Hibernate)缓存,那么您将陷入深深的麻烦,因为根据定义,java说,如果类相等,它们的hashCode必须相等,如果它们的hashCode不同,它们就不能相等


请参阅:

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

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

如果这些类最终出现在任何Hash*集合(HashMap、HashTable等)或任何集合中,或者被外部框架(如Hibernate)缓存,那么您将陷入深深的麻烦,因为根据定义,java说,如果类相等,它们的hashCode必须相等,如果它们的hashCode不同,它们就不能相等


请参阅:

大家好,我是通过在包中单独上课来完成的。例如,pojoClass=PojoClassFactory.getPojoClass(ClassName.class);运行验证(pojoClass);谢谢。大家好,我是通过打包的方式来完成的。例如,pojoClass=PojoClassFactory.getPojoClass(ClassName.class);运行验证(pojoClass);谢谢