gpt4 book ai didi

java - 如何在单元测试中设置固定的 hashCode-Value

转载 作者:行者123 更新时间:2023-11-30 09:17:09 25 4
gpt4 key购买 nike

当我按照我们正在使用的一些多重映射的顺序为错误编写单元测试时,我正在寻找一种方法来在单元测试中“注入(inject)” hashCode 修复。

有没有什么方法可以在不改变原始类的情况下覆盖默认的 hashCode() 值?

提前致谢!

最佳答案

实现哈希码的类应该实现一个接口(interface),添加到multimap的对象应该是那个接口(interface)。在单元测试中,您创建一个新类,您可以在其中设置所需的哈希码返回值。然后将这些测试对象添加到多图。

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);
}

关于java - 如何在单元测试中设置固定的 hashCode-Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com