I'm trying to mock Lucenes IndexReader.close() to do nothing.

I thought this should work...

    IndexReader reader = Mockito.mock(IndexReader.class);
    Mockito.stubVoid(reader).toReturn().on().close(); // old approach
    Mockito.doNothing().when(reader).close(); // new approach

but both result in the unit test calling the actual, real close method and ultimately causing a null pointer exception.

What have I missed?

有帮助吗?

解决方案

As the javadoc indicates, close() is a final method. And Mockito can't mock final methods.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top