[英]Getting a NullPointerException trying a simple example of partial mocking with Mockito
我正在尝试实现一个简单的部分模拟示例。 运行下面的测试,我在方法的第一行不断收到NullPointerException
ERDP.myFunction。 知道为什么吗?
public class ErdpTest{
private Erdp erdp = null;
@Before
public void setUp() throws Exception {
erdp = mock(Erdp.class);
}
@Test
public void testMyFunctionTrue() {
when(erdp.myFunction()).thenCallRealMethod();
assertTrue(erdp.myFunction());
}
}
使用spy
进行部分模拟。 这是一些代码:
erdp = spy(new Erdp.class);
你可以嘲笑的方法spy
通过您在使用模拟方法同样的方法mock
。
spy
和mock
之间的主要区别在于,mock 只是一个代理,默认情况下所有方法都返回 null。 使用间谍,所有方法都调用真正的方法。
你可以试试这个:
public class ErdpTest {
private Erdp erdp = null;
@Before
public void setUp() {
erdp = mock(Erdp.class);
}
@Test
public void testMyFunctionTrue() {
doCallRealMethod().when(erdp).myFunction();
assertTrue(erdp.myFunction());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.