亲爱的同志们计算器,我再次在得到一个特定的PowerMock /案件的Mockito工作的问题。 问题是,我需要验证的私人静态方法,它是从一个公共非静态方法称为呼叫 。 类似的例子我以前上公布如何抑制和验证私有静态方法调用?
这是我的代码:
class Factory {
public String factorObject() throws Exception {
String s = "Hello Mary Lou";
checkString(s);
return s;
}
private static void checkString(String s) throws Exception {
throw new Exception();
}
}
这是我的TestClass:
@RunWith(PowerMockRunner.class)
@PrepareForTest(Factory.class)
public class Tests extends TestCase {
public void testFactory() throws Exception {
Factory factory = mock(Factory.class);
suppress(method(Factory.class, "checkString", String.class));
String s = factory.factorObject();
verifyPrivate(factory, times(8000)).invoke("checkString", anyString());
}
}
这里的问题是,该测试是成功的,但它不应该是。 它不应该是因为私有静态方法应该只调用1次。 但无论我把什么样的价值在时间(),它总是确认其为真... HALP :(