2016-12-20 4 views
2

MavenНевозможно выполнить тесты Junit5 с помощью выполнения Maven

mvn clean test 

Я пытаюсь использовать junit5 для одного из моих Maven проектов, но не в состоянии выполнить модульные тесты во время test фазы с использованием -

<dependency> 
    <groupId>org.junit.jupiter</groupId> 
    <artifactId>junit-jupiter-api</artifactId> 
    <version>5.0.0-M3</version> 
</dependency> 

Вывод, который я получаю -

[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ utils --- 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

Пробовал реализации решения упомянутого @Surefire is not picking up Junit 5 tests обновить зависимости для -

<dependency> 
    <groupId>org.junit.jupiter</groupId> 
    <artifactId>junit-jupiter-api</artifactId> 
    <version>5.0.0-M3</version> 
</dependency> 
<dependency> 
    <groupId>org.junit</groupId> 
    <artifactId>junit5-api</artifactId> 
    <version>5.0.0-ALPHA</version><!--https://mvnrepository.com/artifact/org.junit/junit5-api --> 
    <scope>test</scope> 
</dependency> 

и обновление плагина -

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.junit</groupId> 
      <artifactId>surefire-junit5</artifactId> 
      <version>5.0.0-ALPHA</version><!--couldn't find this on the central though--> 
     </dependency> 
    </dependencies> 
</plugin> 

но выход остается тем же. не

Вопрос - Является ли этот обычай поставщик больше не поддерживается, и есть ли решение для выполнения тестов с использованием maven, junit5 и/или junit5-api в настоящее время?

Примечание - Выполнение теста работает нормально с JUnit-4.

+0

Как ваш проект структурирован? В какой каталог входят ваши модульные тесты? –

+0

Они находятся в соответствующей папке 'src/test'. Фактически, сгенерировано с помощью ярлыка intelliJ для создания Unit Tests. Обновит, что все хорошо с 'junit4' – nullpointer

ответ

3

Вы должны настроить Maven-безошибочный-плагин так:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.junit.platform</groupId> 
      <artifactId>junit-platform-surefire-provider</artifactId> 
      <version>1.0.0-M3</version> 
     </dependency> 
    </dependencies> 
</plugin> 

Вам нужно только включить JUnit-юпитер-апи артефакт и только в тестовом объеме в ваших зависимости разделе:

<dependency> 
    <groupId>org.junit.jupiter</groupId> 
    <artifactId>junit-jupiter-api</artifactId> 
    <version>5.0.0-M3</version> 
    <scope>test</scope> 
</dependency> 

Для получения дополнительной информации см. http://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven.

Редактировать - Из тех же документов.

Для того, чтобы иметь Maven Surefire запускать любые тесты на всего, TestEngine реализация должна быть добавлена ​​к исполняемым классам.

<plugin> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.junit.platform</groupId> 
      <artifactId>junit-platform-surefire-provider</artifactId> 
      <version>1.0.0-M3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.junit.jupiter</groupId> 
      <artifactId>junit-jupiter-engine</artifactId> 
      <version>5.0.0-M3</version> 
     </dependency> 
    </dependencies> 
</plugin> 
Смежные вопросы