2017-01-20 4 views
0

Я пытаюсь запустить свои модульные тесты через плагин с надежным плагином с двумя разными аргументами. Один, использующий jacoco для подачи результатов теста в SonarQube, а другой - для запуска в режиме dynatrace. Я попытался поместить его в два разных тега исполнения, но, похоже, не работает должным образом. Пожалуйста, помогите мне в том, что я делаю неправильно? Ниже отрывок из моего pom.xml:Выполнять Maven-surefire-plugin дважды с разными аргументами

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    <configuration> 
    <argLine>${jacoco.ut.arg}</argLine> 
    <argLine>-agentpath:"C:\Program Files\dynaTrace\Dynatrace 6.3\agent\lib64\dtagent.dll"=name=JavaAgent,server=localhost:9998,optionTestRunIdJava=${dtTestrunID}</argLine> 
    <excludes> 
     <exclude>**/at/**</exclude> 
     <exclude>**/it/**</exclude> 
    </excludes> 
    </configuration> 
</plugin> 
+0

Вы должны использовать два исполнения. Ты пытался? Стараться. Вы показали свои усилия? Еще нет – michaldo

ответ

3

Вы должны использовать <executions/>. Рассмотрим следующий пример:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 

    <!-- You could also have the configuration tag inside the execution --> 
    <configuration> 
     <argLine>${jacoco.ut.arg}</argLine> 
     <argLine>-agentpath:"C:\Program Files\dynaTrace\Dynatrace 6.3\agent\lib64\dtagent.dll"=name=JavaAgent,server=localhost:9998,optionTestRunIdJava=${dtTestrunID}</argLine> 
     <excludes> 
      <exclude>**/at/**</exclude> 
      <exclude>**/it/**</exclude> 
     </excludes> 
    </configuration> 

    <executions> 
     <execution> 
      <id>run-tests</id> 
      <phase>test</phase> <!-- or whatever phase you like --> 
      ... 
     </execution> 
     <execution> 
      <id>run-jacoco</id> 
      <phase>test</phase> <!-- or whatever phase you like --> 
      <goals>...</goals> 
      ... 
     </execution> 
    </executions> 
</plugin> 

Посмотрите на Maven POM Reference:

казни: Важно иметь в виду, что плагин может иметь несколько целей. Каждая цель может иметь отдельную конфигурацию, возможно, , даже привязывая цель плагина к другой фазе. исполнения настраивают выполнение целей плагина.