【发布时间】:2014-03-04 19:09:09
【问题描述】:
我正在尝试在静态类中捕获“logError”方法(在每个方法/字段都是静态的意义上),并验证它是否已被同一类中的其他方法调用了多次。
这个方法是:
public static void logError(Object message){
LOGGER.error(message); // static logger
}
我尝试测试它:
@Test
public void errLogTest() throws Exception{
PowerMockito.mockStatic(X.class);
PowerMockito.doNothing().when(X.class);
X.logError(Mockito.anyString());
X.open();
X.open(); //should log error for opening twice
PowerMockito.verifyStatic(Mockito.times(1));
}
我的问题是,无论我指定多少次,它都会通过。我删除了模拟行为,并且知道记录器被调用一次,但我可以使用PowerMockito.verifyStatic(Mockito.times(9001));,它仍然通过。我该如何测试?
【问题讨论】:
标签: java unit-testing junit mockito powermock