如何使用Powermockito以便跳过私有void方法[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我需要为类似于以下类的类编写测试用例:

public class TestClass {

public String loadBean(int i) {
    String s = null;
    if (i <= 0) {
        s = "less";
        // call some webservice that we don't need to test
        callWebService(s);
    } else {
        s = "more";
    }
    return s;
}

private void callWebService(String s) {
    //Some complex code here

}

我只需要测试loadBean方法,问题是 - 我无法使用PowerMock跳过对callWebService()的方法调用。因此,为了更清楚地解释,我需要一个调用loadBean的测试用例,但在遇到callWebService方法继续执行流程时什么都不做。

我在同一个网站上看到它,我们可以用PowerMockito来做它但无法让它工作。

请帮忙。

java mockito junit4 powermock
1个回答
0
投票

这对我有用:

import static org.powermock.api.mockito.PowerMockito.when;
import static org.powermock.api.mockito.PowerMockito.doNothing;

//Skipping rest of the code
TestClass testSpy = PowerMockito.spy(new TestClass());
doNothing().when(testSpy, method(TestClass.class, "callIt")).withNoArguments();

上面的代码跳过了我的类的private void callIt()方法。

© www.soinside.com 2019 - 2024. All rights reserved.