如何使用spring-boot-test
中的junit
验证来自org.slf4j.Logger
的日志语句?
@Service
public class MyService {
private final org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(this.getClass());
public void run() {
LOGGER.info("running");
}
}
@SpringBootTest
public class MyTest {
@Autowired
private MyService service;
@Test
public void test() {
service.run();
//TODO how to validate log statement?
}
}
2条答案
按热度按时间wa7juj8i1#
如果基础SLF4J是Log4j 2.x,正如您的标记所暗示的那样,您可以使用
ListAppender
,它包含在log4j-core
的test-jar
中。cs7cruho2#
我找到了Springs
@ExtendWith(OutputCaptureExtension.class)
的解决方案:它需要log4j配置中的
follow="true"
选项:<Console name="CONSOLE" target="SYSTEM_OUT" follow="true">