Languages
[Edit]
DE

Maven - Tests überspringen

4 points
Created by:
Nikki
7970

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
50 000 ad impressions - 449$
ūüöÄ
Get your tech brand or product in front of software developers.
For more information contact us:
Red dot
Dirask - friendly IT community for everyone.

‚̧ԳŹūüíĽ ūüôā

Join