4

作为我的 Junit 测试的一部分,我想验证我是否正在使用正确的参数调用外部类的静态方法。

例如:-假设我有以下作为被测类。

class A {
    public static void someMethod(String param){
          some.thirdpartyClass.someStaticMethod(param);
    }      
}

现在我想作为 someMethod 测试的一部分进行测试,我用参数param调用了 someStaticMethod

最简单的方法是什么?我尝试通过电源模拟,但找不到方法。

4

2 回答 2

5

最简单的方法是使用powermock

看看这里http://code.google.com/p/powermock/source/browse/trunk/modules/module-test/easymock/junit4-test/src/test/java/samples/junit4/singleton/MockStaticTest。爪哇

于 2012-07-30T10:43:06.620 回答
1

It's not difficult with PowerMock, but here is an easier solution using JMockit:

public class ATest
{
    @Test
    public void testSomeMethodInIsolation(@Mocked ThirdPartyClass tpc)
    {
        final String param = "testing";

        new A().someMethod(param);

        new Verifications() {{ ThirdPartyClass.someStaticMethod(param); }};
    }
}
于 2012-07-31T16:01:21.423 回答