Я пытаюсь написать некоторые модульные тесты для приложения командной строки, в котором используется System.exit (1) , чтобы сигнализировать о неудачном выполнении.
Поскольку мы используют Java 21, чтобы избежать проблем с менеджером безопасности, как описано здесь, мы подумали об использовании предложенного здесь подхода, который использует расширение
junit5-system-exe (сайт; GitHub). < /p>
Следуя инструкциям из github, мой pom.xml < /code> выглядит как: < /p>
UTF-8
21
21
org.junit
junit-bom
5.11.3
pom
import
org.junit.jupiter
junit-jupiter
test
com.ginsberg
junit5-system-exit
2.0.2
test
maven-dependency-plugin
properties
org.apache.maven.plugins
maven-surefire-plugin
3.5.2
@{argLine} -javaagent:${com.ginsberg:junit5-system-exit:jar}
< /code>
Однако, когда я выполняю тесты, он не удается со следующим сообщением: < /p>
Java.lang.illegalstateException: Агент SystemExitExtension не загружен, см. Документацию < /p>
< /blockquote>
Итак, кажется, что я не могу правильно настроить Surefire. Я пробовал разные подходы, но без удачи. Что я делаю не так?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ystem-exit