После преобразования всех тестов из JUnit 4 в JUnit 5 у вас есть несколько вариантов.
Самый простой вариант - исключить JUnit 4 из пути к классам. В зависимости от того, какие библиотеки вы используете, вам может потребоваться добавить некоторые исключения на уровне зависимости, чтобы избежать транзитивного извлечения JUnit 4. Эта настройка приведет к сбою сборки на этапе компиляции, если используется какой-либо импорт JUnit 4.
Проект, в котором я работаю, не имеет этой опции, поскольку он использует библиотеку Testcontainers , которая по-прежнему требует, чтобы JUnit 4 был в пути к классам, даже если ваши тесты написаны в JUnit 5 ( testcontainers-java # 970 ). В нашем случае мы добавили правило Checkstyle , чтобы запретить импорт JUnit, не относящегося к Jupiter, и у нас происходит сбой сборки при сбое Checkstyle.
Соответствующая конфигурация Checkstyle:
<module name="IllegalImport">
<property name="regexp" value="true"/>
<property name="illegalClasses" value="^org\.junit\.(?!jupiter\.).+"/> <!-- Reject any org.junit import that's not also org.junit.jupiter -->
</module>