Mockito / Powermockito模拟私有空方法 [英] Mockito / Powermockito mock private void method

查看:552
本文介绍了Mockito / Powermockito模拟私有空方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用mockito和powermock来模拟一个不使用参数的私有void方法。

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.

谢谢!

到目前为止,我试过这个:

So far I have tried this:

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

但我收到此错误:

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


推荐答案

我还没有尝试过Whitebox(随附) Powermock),但尝试类似:

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

..据我记得..

这篇关于Mockito / Powermockito模拟私有空方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆