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

Альтернативный SLF4J Binding или Config для Unit Test?

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

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

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

ТИА

4b9b3361

Ответ 1

Лучшим подходом является упрощение вашей системы ведения журнала. Библиотека журнала, например, сначала ищет 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 даже не доступно).