Разница между junit-jupiter-api и junit-jupiter-engine

в чем разница между модулями maven junit-jupiter-api и junit-jupiter-engine? Необходимо ли включать обе зависимости в build.gradle?

мне нужно написать обе зависимости, как

testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")

или

testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")

достаточно?

и мне нужно добавить зависимость от junit-vintage-engine?

1 ответов


С документы:

junit-jupiter-api

JUnit Jupiter API для написания тестов и расширений.

junit-jupiter-engine

JUnit Jupiter тестовая реализация двигателя, требуется только во время выполнения.

junit-vintage-engine

JUnit Vintage test engine реализация, которая позволяет запускать винтажные тесты JUnit, т. е. тесты, написанные в JUnit 3 или JUnit 4 style, на новой платформе JUnit.

так ...

  • вам нужны оба junit-jupiter-api и junit-jupiter-engine для записи и запуска тестов JUnit5
  • вам нужно только junit-vintage-engine Если (a) вы работаете с JUnit5 и (b) в ваших тестовых случаях используются конструкции JUnit4/аннотации/правила и т. д.