【发布时间】:2013-03-08 20:58:52
【问题描述】:
我有两个自定义 ArgumentMatchers,我希望我的模拟根据参数值返回不同的值。
例子:
when(myMock.method(new ArgMatcher1()).thenReturn(false);
when(myMock.method(new ArgMatcher2()).thenReturn(true);
不幸的是,对 when() 的第二次调用导致异常。这对我来说很有意义,因为如果参数与两个 ArgumentMatchers 匹配,Mockito 将不知道返回 true 还是 false。有没有办法在 Mockito 中做到这一点?甚至可能是这样的:
when(myMock.method(new ArgMatcher2()).thenReturn(false).elseReturn(true);
【问题讨论】:
-
您绝对可以让两个不同的匹配器与 Mockito 一起工作。有什么例外? ArgMatcher1 和 ArgMatcher2 有什么作用?
-
我找到了一种更好的方法来做我需要做的事情,所以我不再追求这个选项。
标签: java mocking mockito argument-matcher argument-matching