mir*_*zak 2 java junit unit-testing mockito spring-boot
如果我有一个对象MyObject,我想在调用该对象的某个方法时返回一些值.例如这样的事情:
doReturn(someValue).when(Mockito.any(MyObject.class)).getSomeValue();
Run Code Online (Sandbox Code Playgroud)
我试过这样,但它不起作用:
org.mockito.exceptions.misusing.NullInsteadOfMockException:
Argument passed to when() is null!
Run Code Online (Sandbox Code Playgroud)
您需要使用它Mockito.mock(MyObject.class)来创建对象的模拟.
目前,您正在使用Mockito#any,这是一个参数匹配器,用于在为任何给定参数调用stubbed方法时定义mock上的行为.
@Test
public void testMock() throws InterruptedException {
MyObject myObjectMock = Mockito.mock(MyObject.class);
doReturn(2).when(myObjectMock).getSomeValue();
System.out.println(myObjectMock.getSomeValue()); // prints 2
}
private class MyObject {
public int getSomeValue() {
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |