Java 如何模拟混凝土类void方法

Java 如何模拟混凝土类void方法,java,junit,mocking,mockito,Java,Junit,Mocking,Mockito,我试图模仿LucenesIndexReader.close()什么也不做 我想这应该有用 IndexReader reader = Mockito.mock(IndexReader.class); Mockito.stubVoid(reader).toReturn().on().close(); // old approach Mockito.doNothing().when(reader).close(); // new approach 但这两种方法都会导致单元测试

我试图模仿Lucenes
IndexReader.close()
什么也不做

我想这应该有用

    IndexReader reader = Mockito.mock(IndexReader.class);
    Mockito.stubVoid(reader).toReturn().on().close(); // old approach
    Mockito.doNothing().when(reader).close(); // new approach
但这两种方法都会导致单元测试调用实际的、真正的close方法,并最终导致空指针异常

我错过了什么?

正如所指出的,close()是最后一种方法。还有Mockito。

:(哦,亲爱的,谢谢你,JB。我想你不知道如何在不写我自己的包装器/接口的情况下四处走动?这可能是答案。