Mockito / Powermockito mock private void method

会有一股神秘感。 提交于 2019-12-19 06:15:03

问题


I need to mock a private void method which takes no arguments using mockito and powermock.

The method belongs to a instance which is a spy.

I am aware the fact I need to do this suggests bad code but I am working with an old project converting the unit tests from one testing framework to another.

If anyone has any suggestions it would be much appreciated.

Thank You!

So far I have tried this:

PowerMockito.doNothing().when(Whitebox.invokeMethod(spy,"method",null));

But I get this error:

No method found with name 'method' with parameter types: [ <none> ] 

回答1:


I haven't tried Whitebox (which comes with Powermock), but try something like:

@RunWith(PowerMockRunner.class)
@PrepareForTest(MyClass.class)
public class MyClassTest {
    private MyClass myClass;

    @Before
    public void setup() {
        myClass = PowerMockito.spy(new MyClass());
        PowerMockito.doNothing().when(myClass, "myPrivateMethod");
    }
    //Tests..
}

.. as far as I can remember..



来源:https://stackoverflow.com/questions/25020277/mockito-powermockito-mock-private-void-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!