作为Junit测试的一部分,我想验证是否使用正确的参数调用外部类的静态方法。
假设我有以下几门课要考。
class A {
public static void someMethod(String param){
some.thirdpartyClass.someStaticMethod(param);
}
}
现在,我想作为someMethod测试的一部分进行测试,我用参数param调用了someStaticMethod
做这件事最简单的方法是什么?我试着通过力量模拟,但找不到方法。
最简单的方法是使用powermock。
看看这里http://code.google.com/p/powermock/source/browse/trunk/modules/module-test/easymock/junit4-test/src/test/java/samples/junit4/singleton/MockStaticTest.java
使用PowerMock并不困难,但使用JMockit有一个更简单的解决方案:
public class ATest
{
@Test
public void testSomeMethodInIsolation(@Mocked ThirdPartyClass tpc)
{
final String param = "testing";
new A().someMethod(param);
new Verifications() {{ ThirdPartyClass.someStaticMethod(param); }};
}
}