【发布时间】:2017-04-01 07:52:57
【问题描述】:
我有一个带有 SLF4J 记录器的类,例如:
public class MyClass {
private static final Logger log = LoggerFactory.getLogger(MyClass.class);
public void foo() {
log.warn("My warn");
}
}
我需要用 JMockit 来测试它,比如:
@Test
public void shouldLogWarn(@Mocked Logger log) throws Exception {
new Expectations() {{
log.warn(anyString);
}};
MyClass my = new MyClass();
my.foo();
}
经过大量搜索,我想通了,我需要以某种方式使用 MockUp。但是具体怎么弄就不清楚了。
顺便说一句,我正在使用 JMockit(1.29) 的最新版本,您不能再 setField(log) 用于最终的静态字段。
【问题讨论】:
标签: java unit-testing junit slf4j jmockit