如果我有一个对象MyObject,我想在调用该对象的某个方法时返回一些值。例如:
org.mockito.exceptions.misusing.NullInsteadOfMockException:
Argument passed to when() is null!
我已经尝试过这样,但它不起作用:
for i, x in df.iterrows():
for index, row in df1.iterrows():
if x['ip_address']<=row['upper_bound_ip_address'] and x['ip_address']>=row['lower_bound_ip_address']:
df.ix[i, 'country']=row['country']
答案 0 :(得分:6)
您需要使用Mockito.mock(MyObject.class)
来创建对象的模拟。
目前您正在使用Mockito#any,这是一个参数匹配器,用于在为任何给定参数调用存根方法时在模拟上定义行为。
@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;
}
}
答案 1 :(得分:1)
或者,您可以使用Mockito注释:
@RunWith(MockitoJUnitRunner.class)
public class YourTestClass {
@Mock
MyObject myObjectMock
使您无需在设置或测试方法中手动模拟该对象。