【问题标题】:java PowerMockito ignore method calljava PowerMockito忽略方法调用
【发布时间】:2018-01-09 17:32:41
【问题描述】:

在单元测试中,如何忽略对方法的调用,如下所示?

void methodToBeTested(){
     // do some stuff
     methodToBeSkipped(parameter);
     // do more stuff
}

void methodToBeSkipped{
     // do stuff outside of test scope
}

@Test
void TestMethodToBeTested(){
     TestedClass testedClass = new TestedClass();
     testedClass.methodToBeTested();
     // asserts etc.
}

【问题讨论】:

  • 您的请求表明存在设计问题!你的班级做得太多了。 测试范围之外的东西应该存在于一个单独的类中,你应该注入另一个类的一个实例作为你被测类的依赖项。

标签: java unit-testing mocking mockito powermockito


【解决方案1】:

您不需要。您可以简单地 spy 您要测试的对象并模拟您要跳过的方法:

@Test
public void testMethodToBeTested() {
    TestedClass testedClass = Mockito.spy(new TestedClass());
    Mockito.doNothing().when(testedClass).methodToBeSkipped();

    testedClass.methodToBeTested();
    // Assertions etc.
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    相关资源
    最近更新 更多