我有一些测试代码,它调用Java记录器来报告其状态。 在JUnit测试代码中,我想验证是否已经在记录器中正确地生成了日志条目。以下是大致的代码:
methodUnderTest(bool x){
if(x)
logger.info("x happened")
}
@Test tester(){
// perhaps setup a logger first.
methodUnderTest(true);
assertXXXXXX(loggedLevel(),Level.INFO);
}
我认为可以通过一个特别适应的日志记录器(或处理程序,或格式化程序)来实现这一点,但我更希望重用已经存在的解决方案。(而且,说实话,我不清楚如何从日志记录器获取logRecord,但假设那是可能的。)