Mockito.verify方法包含布尔值和参数captor

时间:2015-10-29 10:26:57

标签: java mockito

我不知道如何在这种情况下使用Mockito.verify。如何将false传递给Mockito.verify?我尝试了两种不同的方法,但它不起作用。

public Sample someMethod(Sample s, boolean a){....}
@Test
public void test() {
...
verify(mock).someMethod(sampleCaptor.capture(), false));
verify(mock).someMethod(sampleCaptor.capture(), org.mockito.Matchers.eq(false)));
...
}

1 个答案:

答案 0 :(得分:10)

第二种方式你是对的:

Mockito.validateMockitoUsage()

使用Matchers(包括ArgumentCaptor.capture)时,您必须为每个值使用匹配器,因为Matchers work via side-effects

如果上述方法不起作用,您可能会在方法的早期误用匹配器。在您致电verify之前立即明确致电$currentfiledata = preg_replace('~^'.$user.':.*~m', '', $currentfiledata); 有时会很有帮助,以确保Mockito的内部状态没有任何问题。 (关于它如何“不起作用”的附加信息,包括一个可重复性最小的例子,可能有助于解决您的具体情况。)