如何认定一个嘲笑对象名单

问题描述 投票:0回答:1

我有如下JUnit测试:

ClassA a1 = mock(ClassA.class);
ClassB b1 = new B("1", "abcd1");
testClass.addToMap(b1, a1); //add date to map1
ClassA a2 = mock(ClassA.class);
ClassB b2 = new B("2", "abcd2");
testClass.addToMap(b2, a2); //add date to map1
testClass.dropFromMap(); //this will remove the object from map1 and add the ClassA details to a set(set1)

现在的问题是,如何验证set1同时包含嘲笑objects(a1, a2)。类似下面:

assertTrue(testClass.set1.contains(a1));
assertTrue(testClass.set1.contains(a2));

无法使用ArgumentCaptor我应该提供适当的b1对象,同时增加了地图。

java junit mocking mockito hamcrest
1个回答
0
投票

如果你想验证在单行/言我会去的Hamcrest匹配器:

import static org.hamcrest.Matchers.*;

...

testClass.dropFromMap();
assertThat(testClass.set1, containsInAnyOrder(a1, a2));

这将确保只有准确和这两个都在集中。

© www.soinside.com 2019 - 2024. All rights reserved.