Как прочитать файл журнала в тесте Junit - PullRequest
2 голосов
/ 21 марта 2012

У меня есть метод, который записывает строку на исключение.В своем тесте JUnit я хочу прочитать журнал и убедиться, что в нем есть строка.

Может кто-нибудь подсказать, как это сделать?

Ответы [ 2 ]

6 голосов
/ 21 марта 2012

Если метод регистрируется в Log4J, вы можете создать фиктивный аппендер и прикрепить его к тестируемому классу.После запуска теста вы можете проверить фиктивный аппендер и убедиться, что в него записана правильная строка.

1 голос
/ 21 марта 2012

Вы хотите проверить, что ожидаемое сообщение отправляется регистратору, если было обнаружено исключение. Синтаксический анализ файла журнала является опцией, но при таком подходе вы также протестируете конфигурацию регистратора (которая должна выходить за рамки этого теста).

Вы можете смоделировать регистратор и проверить, если макет получает ожидаемое сообщение и ожидаемый уровень журнала.

Или - используйте специальную конфигурацию регистратора для тестирования, чтобы получать «необработанные» сообщения журнала в файле или на консоли (вы можете перенаправить этот вывод во внутренний поток печати)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...