Context
Я пишу юнит-тесты, используя TestNG в Spring Tools Suite / Eclipse с плагином TestNG для eclipse. В рамках одного из этих тестов я проверяю, что правильный вывод журнала создается с использованием библиотеки slf4j-test (https://projects.lidalia.org.uk/slf4j-test/)
Обнаружена ошибка совместимости:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/C:/Users/****/.m2/repository/ch/qos/logback/logback-
classic/1.2.3/logback-classic-
1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/C:/Users/****/.m2/repository/uk/org/lidalia/slf4j-
test/1.1.0/slf4j-test-1.1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
SLF4J: Actual binding is of type
[ch.qos.logback.classic.util.ContextSelectorStaticBinder]
Чтобы использовать эту библиотеку, мне нужно исключить logback при выполнении моих тестов из-за известных проблем совместимости с библиотекой slf4j-test. Я сделал это, добавив следующее в мой pom:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<classpathDependencyExcludes>
<classpathDependencyExcludes>ch.qos.logback:logback-classic</classpathDependencyExcludes>
</classpathDependencyExcludes>
</configuration>
</plugin>
Задача
Когда я запускаю 'mvn test', все тесты выполняются нормально, и исключение происходит, как и ожидалось. Тем не менее, когда я хочу запустить отдельный тест с использованием плагина TestNG для eclipse (щелкните правой кнопкой мыши класс теста -> запустить как -> TestNG Test), чтобы я мог видеть результаты теста и охват в IDE, тесты прерываются из-за совместимости проблема между библиотеками.
Вопрос
Как я могу исключить эту зависимость из пути к классам так, как она исключается из 'mvn test', когда я хочу запускать эти тесты по отдельности с помощью плагина TestNG?