如何使用PowerMock验证两个静态方法调用?

时间:2014-07-01 22:28:32

标签: java powermock

我有一个简单的课程

public class A {
    public static int calc(){
        return anotherCalc();

    }

    public static int anotherCalc() {
        return 10;
    }
}

我需要验证方法calc是否触发anotherCalc方法?我怎么能用PowerMockito做到这一点?

UPD:

我有一个代码(我认为)做了正确的验证。但我不确定。

    @Test
    public void should_invoke_anotherCalc_method() throws Exception {
        mockStatic(A.class);
        when(A.calc()).thenCallRealMethod();
        A.calc();
        verifyStatic(times(1));
        A.anotherCalc();
    }

也许有人可以说是不是没有?

1 个答案:

答案 0 :(得分:0)

验证测试是否符合预期的一种简单方法是简单地更改CUT(测试中的代码)以使测试失败。例如,暂时注释掉“calc()”方法中对“anotherCalc()”的调用并运行测试。如果它失败并显示相应的消息,那么您就知道您的测试正在按预期进行。删除注释标记并重新运行测试,然后通过。

我不确定你为什么在测试方法结束时调用“A.anotherCalc()”。这没有意义。