Languages
[Edit]
PL

Maven pominięcie testów

4 points
Created by:
Sylwia
3590

Najczęściej używane polecenie:

mvn clean install -DskipTests=true

# or
# maven.test.skip jest chonorowany przez Surefire, Failsafe i Compiler Plugin:
mvn clean install -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 -DskipTests=true
# lub
mvn install -DskipTests=true


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

lub

mvn clean package -DskipTests=true
# lub
mvn package -DskipTests=true


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
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

Maven

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