编程语言
首页 > 编程语言> > java-Mockito / Powermockito模拟私有无效方法

java-Mockito / Powermockito模拟私有无效方法

作者:互联网

我需要模拟一个私有的void方法,该方法不使用Mockito和Powermock接受任何参数.

该方法属于一个间谍实例.

我知道我需要这样做的事实表明代码很糟糕,但是我正在与一个旧项目合作,将单元测试从一个测试框架转换到另一个测试框架.

如果有人有任何建议,将不胜感激.

谢谢!

到目前为止,我已经尝试过了:

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

但是我得到这个错误:

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

解决方法:

我还没有尝试过Whitebox(Powermock随附),但是可以尝试以下方法:

@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..
}

..据我所记得..

标签:java,unit-testing,mockito,powermock
来源: https://codeday.me/bug/20191010/1888048.html