【JUnit5】ログのテスト方法

class ChihayaClientTest {
    protected ListAppender<ILoggingEvent> listAppender;

    @BeforeEach
    void setUp() {
        // ログテストのための設定
        Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
        listAppender = new ListAppender<>();
        listAppender.start();
        logger.addAppender(listAppender);
    }

    @Test
    void test() {
        // 通常のテスト

        // listAppender.listにログイベントが格納されているので、テストしたいログを取得する
        var logs = listAppender.list.stream()
                .filter(event -> event.getFormattedMessage().contains("テスト対象のログメッセージ"))
                .filter(event -> event.getLevel().equals(Level.INFO))
                .toList();
    }

}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です