当我按照我们正在使用的某些多图的顺序为错误编写单元测试时,我正在寻找一种方法来在单元测试中“注入”hashCode 修复。
有没有办法在不更改原始类的情况下覆盖 default-hashCode()-value?
提前致谢!
当我按照我们正在使用的某些多图的顺序为错误编写单元测试时,我正在寻找一种方法来在单元测试中“注入”hashCode 修复。
有没有办法在不更改原始类的情况下覆盖 default-hashCode()-value?
提前致谢!
实现哈希码的类应实现一个接口,添加到多图的对象应属于该接口。在单元测试中,您创建一个新类,您可以在其中设置所需的哈希码返回值。然后将这些测试对象添加到多图。
MultiMap<IMyObjects> multimap;
class MyTestObjects implements IMyObjects {
private int hashCodeToUse = 42;
public int hashCode() {
return hashCodeToUse;
}
// TODO write setter for hashCodetoUse
}
public void testHashCode() {
// TODO init multipam
MyTestObject obj1 = new MyTestObject();
obj1.setHashCodeToUse(234);
multimap.put(obj1);
}