Languages
[Edit]
DE

Maven - Tests überspringen

4 points
Created by:
Nikki
10460

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