java when方法_java – Mockito异常 – when()需要一个必须是模拟方法调用的参数
时间: 2024-02-21 10:58:42 浏览: 137
Java mockito单元测试实现过程解析
5星 · 资源好评率100%
这个问题是关于Java中使用Mockito框架时出现的异常。当我们使用Mockito进行模拟测试时,我们会使用`when()`方法来指定一个模拟方法调用,并返回一个期望的结果。但是,如果在`when()`方法中传递的参数不是一个模拟方法调用,就会出现类似"when() requires an argument which has to be 'a method call on a mock'"的异常。
解决这个问题的方法是确保在`when()`方法中传递的参数是一个模拟方法调用。例如,如果我们有一个名为`mockObject`的模拟对象,并且我们想模拟它的`doSomething()`方法,我们可以这样写:
```
when(mockObject.doSomething()).thenReturn(expectedResult);
```
注意,我们在`when()`方法中传递的参数是一个模拟方法调用`mockObject.doSomething()`,而不是一个简单的对象或值。这样就可以避免上述异常的出现。
阅读全文