testing - 无效的使用匹配器异常 : Invalid use of argument matchers

标签 testing mockito

我是测试新手。我试过这个但有一个异常(exception)。

@Mock
private Context context;    
...
when(service.getResult(any(), context)).thenReturn(new ArrayList<>());

异常(exception):

org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 1 recorded:

最佳答案

Mockito.any() 是一个 Mockito 参数匹配器。当您在模拟记录中定义的参数之一中指定它时,您必须对所有参数使用参数匹配器。
Mockito.eq(T) 是将任何参数转换为参数匹配器的方法。
所以这应该没问题:

@Mock
private Context context;    

@Mock
private Service service; 
...
when(service.getResult(any(), eq(context)).thenReturn(new ArrayList<>());

关于testing - 无效的使用匹配器异常 : Invalid use of argument matchers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50073912/

相关文章:

python - selenium(使用 python/django)无法启动 firefox 浏览器实例

ios - 模拟 API 测试的 URLSession 是将无法识别的选择器发送到实例

Android LVL 开发者测试不工作

android - Mockito:在 UI 测试中模拟最终类

java - 如何使用特定参数验证流畅的接口(interface)模拟链

javascript - 如何使用 Protractor 测试来确定是否发布我的应用程序?

java - testng.xml 文件应该驻留在 Netbeans IDE 的 Java 项目中的什么位置?

Java (JUnit 4.xx) 如何使用模拟工具强制调用 try block 中的 void 方法异常?

Android - 仪表测试期间应用程序的模拟方法

java - @RunWith(MockitoJUnitRunner.class) 与 MockitoAnnotations.initMocks(this)