我试图实现一个简单的部分模拟示例。运行下面的测试,我不断得到一个 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());
}
}
2条答案
按热度按时间dbf7pr2w1#
使用
spy
部分嘲弄。下面是一些代码:erdp = spy(new Erdp.class);
您可以在spy
通过与模拟中的方法相同的方法mock
.两者之间的关键区别
spy
和mock
模拟只是一个代理,默认情况下所有方法都返回null。对于间谍,所有方法都调用真实方法。6tqwzwtp2#
您可以尝试以下方法: