gpt4 book ai didi

java - 当日志由 lombok 创建时,我如何断言我的日志消息

转载 作者:行者123 更新时间:2023-11-30 07:57:54 25 4
gpt4 key购买 nike

我有以下代码:

@Component
@Slf4j
public class MyClass {

private OtherClass otherClass;

@Autowired
public MyClass(OtherClass otherClass) {
this.otherClass = otherClass;
}

public void start() {
try {
otherClass.execute();
} catch (FeatureException exception) {
log.warn(exception.getMessage());
}
}

我想做测试来验证日志消息。我不知道怎么办。

谢谢

最佳答案

SLF4J project recommends using图书馆 SLF4J Test对于这个用例。

在你的情况下(也使用 Hamcrest 和 Mockito):

public class MyClassTest {

TestLogger logger = TestLoggerFactory.getTestLogger(MyClass.class);

@Test
public void testStart_loggingFailureMessage() {
OtherClass otherClass = mock(OtherClass.class);
MyClass myClass = new MyClass(otherClass);

when(otherClass.execute()).thenThrow(new FeatureException("Some text"));

myClass.start();

assertThat(logger.getLoggingEvents(), is(asList(LoggingEvent.warn("Some text"))));
}

@After
public void clearLoggers() {
TestLoggerFactory.clear();
}
}

关于java - 当日志由 lombok 创建时,我如何断言我的日志消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com