繁体   English   中英

尝试使用 Mockito 进行部分模拟的简单示例,获取 NullPointerException

[英]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

spymock之间的主要区别在于,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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM