Maven Surefire-Plug-in mit verschiedenen Gruppen für Test- und Integrationstest Wie man verwendet?

StackOverflow https://stackoverflow.com/questions/412717

Frage

Ich will verwenden testng mit dem todsichere Plug-in von Maven . Die Idee ist, ein paar Tests mit einer Gruppe integrationTest zu markieren, und das Plug-in zweimal ausführen. Für Ziel test mit Ausnahme der Gruppe integrationTest und Ziel integration-test einschließlich der Gruppe integrationTest nur

fand ich einige Material für den Betrieb des Plug-in für beide Ziele und das funktioniert, aber die Gruppe für den zweiten Lauf nicht funktioniert (kein Test ausgeführt wird).

Hier ist die Plug-in-Konfiguration in dem Build-Elemente meiner pom.xml:

  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <excludedGroups>integrationTest</excludedGroups>
      <reportFormat>brief</reportFormat>
      <trimStackTrace>true</trimStackTrace>
      <useFile>false</useFile>
    </configuration>
    <executions>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <groups>integrationTest</groups>
          <excludedGroups/>
          <reportsDirectory>${project.build.directory}/surefire-reports/integration</reportsDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>

Jede Idee? mvn integration-test führt alle Tests Einheit wie erwartet (mit Ausnahme der Gruppe integrationTest), aber der zweite Testlauf gerade schreibt:

  

Beim Laufen Testsuite
  Tests laufen: 0, Fehler: 0, Fehler: 0, Skipped: 0, verstrichene Zeit: 0,562 sec

Das Ergebnis mvn test ist wie erwartet, Tests durchführen und die Gruppe integrationTest ignoriert.

War es hilfreich?

Lösung

Ich habe es - Konfiguration Implementierung irritierend

<excludedGroups/> nicht außer Kraft setzen <excludedGroups>integrationTest</excludedGroups>. Sie müssen jede (unbekannt) Gruppe angeben stattdessen <excludedGroups>none</excludedGroups> zum Beispiel.

Andere Tipps

Die Failsafe-Plugin ist der beste Weg, dies zu tun (es kann nicht verfügbar gewesen, wenn Sie diese Frage gestellt). Es fügt eine Integrationstestphase auf den Build-Lebenszyklus. Es ermöglicht Ihnen, Auf- und Abbau-Aktivitäten laufen vor und nach den Tests zu haben, die für die Verwaltung eines eingebetteten Behälter, beispielsweise nützlich ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top