我使用mockito mock写了一个UT。
我想验证使用此参数调用mock:MyObject obj
其中obj = { name =... , value = 9}
我想验证模拟是否使用值为9的param调用。
你会怎么做?我不想覆盖equals(..)
myObject
答案 0 :(得分:0)
mockito有ArgumentMatcher接口:
class IsListOfTwoElements extends ArgumentMatcher<List> {
public boolean matches(Object list) {
return ((List) list).size() == 2;
}
}
List mock = mock(List.class);
when(mock.addAll(argThat(new IsListOfTwoElements()))).thenReturn(true);
答案 1 :(得分:0)
这些是内置匹配器:hasProperty
assertThat(externalPois, Matchers.hasItem(Matchers.<ExternalPoi>hasProperty("id", is(5))));