Подтвердить что ты не робот

Как настроить log4j в единичной тестовой среде?

Каков наилучший способ настройки log4j для использования в единичной тестовой среде? Я предпочитаю, чтобы мои модульные тесты не имели внешних зависимостей, поэтому чтение конфигурационного файла log4j не является вариантом. В идеале было бы 1 или 2 вызова функций, которые я мог бы выполнить из функции настройки unit test.

4b9b3361

Ответ 1

вы можете поместить статический блок кода в начало теста, который выполняет

BasicConfigurator.configure();

Обратите внимание, что проблема заключается в том, что каждый раз, когда эта строка выполняется, log4j добавит приложение, и вы получите дубликаты операторов журнала. Поэтому, если вы сделаете это в каждом тестовом классе, вы получите n дубликатов каждого оператора журнала.

Поэтому я рекомендую создать класс, который является вашим BaseTestCase, и делать это там.

Обратите внимание, что наличие каких-то тестовых ресурсов с соответствующей конфигурацией - неплохая идея...

Ответ 2

Log4j уже является внешней зависимостью. Но в любом случае, вы получили свой ответ ниже (hvgotcodes), поэтому я просто добавлю, что вы можете настроить log4j программно. В основном все, что вы можете сделать через config, вы можете сделать и с помощью кода:

http://robertmaldon.blogspot.com/2007/09/programmatically-configuring-log4j-and.html