Что именно такое JUnit5 Platform Launcher?

#maven #junit5

#maven #junit5

Вопрос:

JUnit 5 является модульным.

Я понимаю, что все основано на платформенном модуле ( junit-platform-engine-1.3.2.jar ):

Модуль Jupiter (API детали движка: junit-jupiter-engine-5.3.2.jar junit-jupiter-api-5.3.2.jar ) и

Модуль Vintage (API части движка: junit-vintage-engine-5.3.2.jar junit-4.12.jar и hamcrest-core-1.3.jar ) оба используют платформенный модуль в качестве базового.

Но что такое платформенный лаунчер и когда он нужен?

Когда и зачем это может мне понадобиться и как добавить его в pom.xml ?

Junit (изображение любезно предоставлено по этой ссылке)

Добавляем Jupiter (только для тестов JUnit 5) и Vintage (для совместимости с Junit4 / Junit3 — для запуска устаревших тестов JUnit4 из JUnit5) в pom.xml похоже на это (просто для дальнейшего использования):

 <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.3.2</version>
    <scope>test</scope>
</dependency>

<!-- Vintage Module to run JUnit4 from JUnit 5 -->
<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <version>5.3.2</version>
    <scope>test</scope>
</dependency>
  

Комментарии:

1. Я бы рекомендовал использовать самую последнюю версию, которая 5.4.0…

Ответ №1:

Средство запуска вам нужно только тогда, когда вы хотите запустить платформу JUnit программно, т. Е. вне IDE, инструмента сборки или консольного запуска.

Другими словами: средство запуска — это API, используемый IDE и инструментами сборки.

Комментарии:

1. отличается ли этот plateforme launcher от junit-platform-console? если да, то когда нам понадобится junit-platform-console?

2. @soung Launcher — это Java API, консоль — инструмент командной строки.