Каков наилучший способ настройки log4j для использования в единичной тестовой среде? Я предпочитаю, чтобы мои модульные тесты не имели внешних зависимостей, поэтому чтение конфигурационного файла log4j не является вариантом. В идеале было бы 1 или 2 вызова функций, которые я мог бы выполнить из функции настройки unit test.
Как настроить log4j в единичной тестовой среде?
Ответ 1
вы можете поместить статический блок кода в начало теста, который выполняет
BasicConfigurator.configure();
Обратите внимание, что проблема заключается в том, что каждый раз, когда эта строка выполняется, log4j добавит приложение, и вы получите дубликаты операторов журнала. Поэтому, если вы сделаете это в каждом тестовом классе, вы получите n дубликатов каждого оператора журнала.
Поэтому я рекомендую создать класс, который является вашим BaseTestCase, и делать это там.
Обратите внимание, что наличие каких-то тестовых ресурсов с соответствующей конфигурацией - неплохая идея...
Ответ 2
Log4j уже является внешней зависимостью. Но в любом случае, вы получили свой ответ ниже (hvgotcodes), поэтому я просто добавлю, что вы можете настроить log4j программно. В основном все, что вы можете сделать через config, вы можете сделать и с помощью кода:
http://robertmaldon.blogspot.com/2007/09/programmatically-configuring-log4j-and.html