In test sometimes you want to check logs:
@RunWith(MockitoJUnitRunner.class) public class SomeTesst { private Appender mockAppender; @Before public void setUp() { mockAppender = mock(Appender.class); when(mockAppender.getName()).thenReturn("MOCK"); Logger rootLogger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); rootLogger.addAppender(mockAppender); } @Test public void validate() { ArgumentCaptor<Appender> argumentCaptor = ArgumentCaptor.forClass(Appender.class); verify(mockAppender, times(1)).doAppend(argumentCaptor.capture()); assertTrue(((LoggingEvent) argumentCaptor.getAllValues().get(0)).getFormattedMessage().contains("Some log msg")); }
Komentarze
Prześlij komentarz