我想创建一个包含模拟java对象的集合。如下所示
MyObject objectA = mock(MyObject.class);
when(objectA.getName()).thenReturn("nameA");
MyObject objectB = mock(MyObject.class);
when(objectB.getName()).thenReturn("nameB");
MyObject objectC = mock(MyObject.class);
when(objectC.getName()).thenReturn("nameC");
Set<MyObject> mySet = new HashSet<>();
mySet.add(objectA);
mySet.add(objectB);
mySet.add(objectC);
mySet.size();// this will be "1" instead of "3"
我希望套装的大小为“3”而不是“1”。
我知道在添加对象时设置它会验证对象的哈希码。在这种情况下,我的所有模拟对象都具有相同的哈希码,因此该集合只能保存一个值。
我也试过以下
int someRandomInt = 12345;
when(objectA.hashCode()).thenReturn(someRandomInt):
但Mockito未能找出私人最终方法。
如何拥有一个包含不同模拟对象的集合?