当我按照我们正在使用的某个多图的顺序编写错误的单元测试时,我正在寻找一种方法让hashCode修复'注入'在单元测试中。
有没有办法覆盖default-hashCode() - 值而不更改原始类?
提前致谢!
答案 0 :(得分:2)
实现哈希码的类应实现一个接口,添加到多图的对象应该是该接口。在单元测试中,您将创建一个新类,您可以在其中设置所需的哈希码返回值。然后将这些测试对象添加到多图。
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);
}