2016-05-04 6 views
0

Я хочу запустить мой Junit на моем сборке jar's, но плагин maven surefire, выполненный над файлом класса перед фазой пакета, который находится на стадии тестирования, есть ли способ запустить весь junit после создания jar проекта. Причина, по которой следует работать на сборке, состоит в том, чтобы проверить обфускацию банки.Как выполнить тестовый пример Junit после фазы пакета в maven?

ответ

2

Решение должно использовать maven-failsafe-plugin, который будет использоваться на этапе интеграции. Вам нужно это в файл пом:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-failsafe-plugin</artifactId> 
     <version>2.19.1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>integration-test</goal> 
       <goal>verify</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

Вы должны следующей за conventions и следовать соглашениям об именовании интеграционных тестов:

<includes> 
<include>**/IT*.java</include> 
<include>**/*IT.java</include> 
<include>**/*ITCase.java</include> 
</includes> 

После этого вы можете запустить эти тесты интеграции через:

mvn clean verify 

Если вы хотите управлять only unit tests:

mvn clean test 
+0

khmarbaise спасибо за ans, у меня есть две проблемы: 1, как я могу узнать, что его принятие проекта запутывает банку во время тестовых тестов? и 2 - как я могу обойти плагин surefire? – Afgan

+0

Чтобы принять правильную флягу, это задача теста интеграции. Пропуск тестов можно выполнить с помощью 'mvn -DskipTests = true' ... – khmarbaise

+0

Спасибо, khmarbaise, что он работает. – Afgan

0

Существует два этапа испытаний в maven, один - это единичный тест, второй - интеграционные тесты. Поэтому, если вы хотите, вы должны выполнить его на этапе интеграционных тестов.

Смежные вопросы