我的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
对象。
答案 0 :(得分:0)
如果您想在单行/语句中验证我会选择Hamcrest匹配器:
import static org.hamcrest.Matchers.*;
...
testClass.dropFromMap();
assertThat(testClass.set1, containsInAnyOrder(a1, a2));
这将确保只有这两个准确地位于集合中。