Альтернативная привязка SLF4J или конфигурация для модульного теста? - PullRequest
11 голосов
/ 05 мая 2011

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

Я использовал плагин antrun maven прежде, чтобы сделать что-то подобное с файлами persistence.xml, но это решение кажется немного сложным.

Есть ли у кого-нибудь решение использовать альтернативные конфиги или привязки в модульных тестах?

ТИА

1 Ответ

19 голосов
/ 05 мая 2011

Лучшим подходом является упрощение вашей структуры ведения журналов.Например, библиотека обратного вызова сначала ищет logback-test.xml, а если она недоступна, она ищет logback.xml.Если вы поместите logback-test.xml в /src/test/resources, он будет выбран для модульных тестов.В этом файле вы настраиваете логирование консоли вместо файла.

Если вы все еще используете Log4J, просто поместите log4j.xml в /src/test/resources - эта папка доступна в classpath до /src/main/resources, поэтому Log4J будет использовать его вместо обычной /src/main/resources версии, при этом загружая последнюю версию для окончательных сборок (/src/test/resources тогда даже недоступен).

...