Я прочитал ответ о Maven, но мне было интересно, как я смогу выполнить эту задачу в Gradle - Выполнение тестов JUnit 4 и JUnit 5 в одной сборке.
В настоящее время моя сборка Gradle собирает тесты только с:
import org.junit.jupiter.api.Test;
Моя проблема в том, что я использую @RunWith, для работы которого требуется JUnit4, но я хочу выполнить его на JUnit5 Vintage Engine.
Как сделать мою сборку такой, чтобы я мог запускать JUnit4 и JUnit5 вместе. Спасибо.
Обновлять:
Теперь есть родной Mockito Junit Jupiter для JUnit 5 - https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter




Проект junit5-миграция-градиент демонстрирует, как выполнять тесты на основе JUnit 5 с использованием Gradle. Кроме того, он демонстрирует, что существующие тесты на основе JUnit 4 могут выполняться в том же наборе тестов, что и тесты на основе JUnit Jupiter или любые другие тесты, поддерживаемые на платформе JUnit.
По сути, это сводится к наличию обоих движков, Jupiter и Vintage, на пути к классам среды выполнения:
dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api:5.2.0")
testRuntime("org.junit.jupiter:junit-jupiter-engine:5.2.0")
}
dependencies {
testCompile("junit:junit:4.12")
testRuntime("org.junit.vintage:junit-vintage-engine:5.2.0")
}
Не могли бы вы опубликовать дополнительную информацию, например, ваш файл build.gradle, или предоставить ссылку на минимальный образец проекта, который показывает проблему?
Вам также необходимо добавить этот пункт в свой build.gradle: test { useJUnitPlatform() } Или, если вы используете Kotlin и имеете build.gradle.kts: tasks.test { useJUnitPlatform() }
Я считаю, что должно быть больше, чем это - мои тесты JUnit4 все еще не выполняются на
./gradlew clean test.