小编mer*_*oth的帖子

使用JMockit模拟和验证SLF4J

我有一个SLF4J记录器实例的类,如:

 public class MyClass {

    private static final Logger log = LoggerFactory.getLogger(MyClass.class);

    public void foo() {
      log.warn("My warn");
    }
  }
Run Code Online (Sandbox Code Playgroud)

我需要用JMockit测试它,如:

 @Test
 public void shouldLogWarn(@Mocked Logger log) throws Exception {
   new Expectations() {{
     log.warn(anyString);
   }};
   MyClass my = new MyClass();
   my.foo(); 
 }
Run Code Online (Sandbox Code Playgroud)

经过大量搜索后我发现,我需要以某种方式使用MockUp.但无法准确地得到它.

顺便说一下,我正在使用JMockit(1.29)的最新版本,你不能再为最终静态字段设置setField(log).

java junit unit-testing jmockit slf4j

4
推荐指数
1
解决办法
2660
查看次数

标签 统计

java ×1

jmockit ×1

junit ×1

slf4j ×1

unit-testing ×1