Languages
[Edit]
PL

Maven pominięcie testów

4 points
Created by:
Sylwia
1337

Najczęściej używane polecenie:

$ mvn package -Dmaven.test.skip=true

1. Przegląd

W tym poście zobaczymy, jak pominąć testy jednostkowe, gdy budujemy nasz projekt za pomocą maven.

Najłatwiejszym sposobem pominięcia testów jednostkowych za pomocą maven jest użycie jednego z poleceń:

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

lub

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

Przykład polecenia maven clean:

# przed uruchomieniem instalacji lub pakietu uruchom clean, aby wyczyścić katalog docelowy
$ mvn clean

Czasami możemy chcieć skompilować nasz projekt bez ponownego uruchamiania wszystkich testów jednostkowych.

Albo niektóre testy jednostkowe kończą się niepowodzeniem, a mimo to chcemy zbudować jar.

Jest kilka sposobów, aby to osiągnąć.

Maven -D parametr oznacza - zdefiniuj właściwość systemu za pomocą polecenia mvn -help.

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
Konsolowe dane wyjściowe polecenia maven: pakiet mvn -Dmaven.test.skip=true

2. Pomiń testy jednostkowe za pomocą -Dmaven.test.skip=true

Możemy uruchamiać komendy maven ze zdefiniowaną właściwością systemową:

-Dmaven.test.skip=true

Poniżej mamy przykłady z instalacją mvn i pakietem mvn.

2.1 mvn install

$ mvn install -Dmaven.test.skip=true
# nasza kompilacja zostanie wykonana bez testów jednostkowych

2.2 mvn package

$ mvn package -Dmaven.test.skip=true
# nasza kompilacja zostanie wykonana bez testów jednostkowych

 

UWAGA: maven.test.skip jest honorowany przez:

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

3. Wyłącz testy jednostkowe na stałe w pom.xml

Dodaj tę właściwość do pom.xml

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

Kiedy mamy tę właściwość zdefiniowaną w naszym pom.xml, możemy uruchomić

$ mvn install
# nasza kompilacja zostanie wykonana bez testów jednostkowych

lub

$ mvn package
# nasza kompilacja zostanie wykonana bez testów jednostkowych

Maven zaakceptuje właściwość z pom.xml i pominie uruchamianie testów jednostkowych.

4. Jeśli używamy wtyczki Maven Surefire

Dodaj tę właściwość xml do konfiguracji wtyczki Maven Surefire w pom.xml:

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

Pełny przykład pom.xml, w którym musimy dodać tę konfigurację, aby pominąć testy jednostkowe:

<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 parametr - wyjaśnienie

Co oznacza parametr maven -D?

To znaczy - zdefiniuj właściwość systemu.

-D, --define <arg>

Aby zdefiniować właściwość, musimy użyć -D.

Synonimem parametru „-D” jest „--define”

Przykłady:

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

Kiedy wykonamy mvn -help, otrzymamy opis wszystkich flag.

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

6. mvn różnice między czystą instalacją a czystym pakietem

mvn clean - usunie nasz katalog docelowy

mvn install - zbuduje nasz jar + umieści go w katalogu docelowym i skopiuje do repozytorium maven .m2 na naszym komputerze, przykład ścieżki lokalnego repozytorium maven:

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

mvn package - zbuduje nasz jar + umieści go w docelowym katalogu, nic dodać nic ująć

Z dokumentacji Mavena:

  • install - zainstaluj pakiet w lokalnym repozytorium, aby użyć go jako zależności w innych projektach lokalnie
  • package - weź skompilowany kod i zapakuj go w formacie przeznaczonym do dystrybucji, takim jak JAR.

7. Maven clean - po co go uruchamiać?

Dobrą praktyką jest uruchomienie komendy maven clean przed uruchomieniem komendy mvn install lub mvn package. Maven clean usunie nasz katalog docelowy iw ten sposób zapewnimy, że nasz kod i zasoby są świeżo skompilowane do katalogu docelowego.


Połączone pytania

  1. Maven - jak pominąć testy jednostkowe?
  2. Jak pominąć testy z Maven?
  3. mvn pomiń testy jednostkowe
  4. mvn clean install pomiń test
  5. Test pomijania pakietu mvn

Bibliografia

  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
Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.