Languages
[Edit]
DE

Maven - Tests überspringen

4 points
Created by:
Nikki
8720

Am h├Ąufigsten verwendeter Befehl:

$ mvn package -Dmaven.test.skip=true

1. ├ťbersicht

In diesem Artikel wird gezeigt, wie man Unit-Tests ├╝bersprigen kann, wenn ein Projekt mit Maven erstellt wird.

Der einfachste Weg, Unit-Tests mit Maven zu überspringen, ist es den folgenden Befehl zu verwenden. 

$ mvn clean install -Dmaven.test.skip=true
# or
$ mvn install -Dmaven.test.skip=true

oder

$ mvn clean package -Dmaven.test.skip=true
# or
$ mvn package -Dmaven.test.skip=true

Beispiel f├╝r den Befehl von maven clean:

# Vor der Installation oder Ausf├╝hrung, soll man clean ausf├╝hren, um das Zielverzeichnis zu l├Âschen 
$ mvn clean

Manchmal wollen wir unser Projekt erstellen, ohne alle Komponententests erneut auszuf├╝hren.

Oder einige der Komnponententests schlagen fehl, und wir wollen jar sowieso bauen.

Es gibt mehrere Wege, um das zu erreichen.

Maven -D Parameter bedeutet - eine Systemeigenschaft mit dem Befehl mvn -help definieren.

Maven - skip unit tests screenshot with Console output of maven command: mvn package -Dmaven.test.skip=true - link to post: https://dirask.com/q/k1wL3D
Konsolenausgabe von Maven Befehl: mvn package -Dmaven.test.skip=true

2. Unit-Tests mit -Dmaven.test.skip=true überspringen

Man kann Maven-Befehle mit definierten Systemeigenschaften ausf├╝hren:

-Dmaven.test.skip=true

Unten befinden sich die Beispiele mit mvn install und mvn package.

2.1 mvn install

$ mvn install -Dmaven.test.skip=true
# Unser Build wird ohne Unit-Tests ausgef├╝hrt

2.2 mvn package

$ mvn package -Dmaven.test.skip=true
# Unser Build wird ohne Unit-Tests ausgef├╝hrt

HINWEIS: maven.test.skip wird von folgenden Plug-Ins anerkannt:

  • Maven Surefire Plugin
  • Maven Failsafe Plugin
  • Maven Compiler Plugin

3. Unit-Tests dauerhaft in pom.xml deaktivieren

Das soll zu pom.xml hinzugefügt werden. 

<properties>
    <maven.test.skip>true</maven.test.skip>
</properties>

Wenn diese Eigenschaft in pom.xml definiert wurde, kann man es ausf├╝hren

$ mvn install
# Unser Build wird ohne Unit-Tests ausgef├╝hrt

oder

$ mvn package
# Unser Build wird ohne Unit-Tests ausgef├╝hrt

Maven akzeptiert Eigenschaften aus pom.xml und überspringt laufende Unit-Tests.

4. Bei der Verwendung von Maven Surefire Plugin

Diese xml Eigenschaft zu Maven Surefire Plugin Konfiguration in pom.xml hinzufügen:

<configuration>
  <skipTests>true</skipTests>
</configuration>

Vollst├Ąndiges┬ápom.xml Beispiel, wo diese Konfiguration hinzugef├╝gt werden muss, um Unit-Tests zu ├╝berspringen.

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.20</version>

        <!-- HERE it goes -->
        <configuration>
          <skipTests>true</skipTests>
        </configuration>


      </plugin>
    </plugins>
  </build>
  [...]
</project>

5. Maven -D Parameter Bedeutung┬á- Erkl├Ąrung

Was bedutet eigentlich Maven -D Parameter?
Es bedeutet - Systemeigenschaft definieren.

-D, --define <arg>

Um die Eigenschaft zu definieren, muss man -D verwenden.
Das Synonym für den '-D' Parameter ist '--define' ("definieren")

Beispiele:

$ mvn install -DskipTests=true
$ mvn install -DfailIfNoTests=false

Bei der┬ámvn -help Ausf├╝hrung, erh├Ąlt man eine Beschreibung aller Flags.

$ mvn -help
..
..
-D, --define <arg>  Define a system property
..
..

6. mvn Unterschied zwischen clean install vs clean package

mvn clean - entfernt unser Zielverzeichnis

mvn install - ertellt jar + legt es in das Zielverzeichnis und kopiert es in das maven .m2 repository auf dem PC, Beispiel für den lokalen Maven-Repository-Pfad:

C:\Users\seth\.m2\repository\com\dirask\0.0.1-SNAPSHOT\dirarsk-examples-0.0.1-SNAPSHOT.jar

mvn package - erstellt jar + setzt es in das Zielverzeichnis, nichts mehr und nichts weniger

Aus der Maven-Dokumentation:

  • install┬á-┬á das Paket in lokalen Repository installieren, um es als Abh├Ąngigkeit in anderen Projekten lokal zu verwenden
  • package┬á- den kompilierten Code nehmen und in einem verteilbaren Format, z.B JAR verpacken.

7. Maven clean - warum f├╝hrt man das aus?

Es ist empfehlenswert, der Befehl maven clean auszuführen, bevor den Befehl mvn install oder mvn package ausgeführt wird. Maven clean entfernt unser Zielverzeichnis und stellt aus diese Art und Weise sicher, dass unser Code und unsere Ressourcen frisch in das Zielverzeichnis kompiliert werden.

Zusammengef├╝hrte Fragen

  1. Maven - wie ├╝berspringt man unit tests
  2. Wie kann ich tests mit Maven ├╝berspringen?
  3. mvn unit tests überspringen
  4. mvn clean install test ├╝berspringen
  5. mvn package test ├╝berspringen

Literaturverzeichnis

  1. Maven Surefire Plugin - skipping tests
  2. Maven Failsafe Plugin - skipping tests
  3. Maven Compiler Plugin
  4. Introduction to the Standard Directory Layout
  5. Introduction to the Build Lifecycle
Native Advertising
­čÜÇ
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join