2013-04-04 6 views
6

Jak ustawić w pom, aby nie kompilować testów w Maven? Próbowałem:Jak ustawić w pom, aby nie kompilować testów?

<properties> 
    <skipTests>true</skipTests> 
</properties> 

, ale w takim przypadku Maven skompiluj testy, ale ich nie uruchamiaj. Potrzebuję Mavena, nie kompiluję moich testów.

+0

Czy mogę zapytać: DLACZEGO? –

+0

Być może możesz mieć profil, który wskazuje na katalog źródła testu. W przeciwnym razie wskazuje na pustą. –

+0

Nie należy ich kompilować, ponieważ te testy wywołują usługę sieciową, analizują jej klasy i tak dalej. Ponieważ projekt wykorzystuje Hudson do ciągłej integracji, musimy skompilować i uruchomić te testy tylko wtedy, gdy zdecydujemy, aby to zrobić. –

Odpowiedz

0

W moim przypadku rozwiązaniem było umieszczenie testy w profilu (np runTests), więc gdy chcę uruchomić te testy, dodaję parametr -PrunTests. Dzięki za odpowiedzi.

0

Jeśli używasz surefire-plugin do testów wykonania, można skonfigurować, aby je pominąć w oparciu o wzór nazewnictwa:

<project> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.14</version> 
     <configuration> 
      <includes> 
      <include>%regex[.*[Cat|Dog].*Test.*]</include> 
      </includes> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 

To jednak wymaga nazwy plików testy w celu dostosowania do pożądanego wzorca (s). W pracy używamy tego podejścia i nasze testy kończą się na ..UnitTest lub ..IntegrationTest, dzięki czemu możemy łatwo wyłączyć każdą z nich, modyfikując wyrażenie regularne w odpowiednim profilu kompilacji.

Spójrz na Apache's documentation na wtyczce murowanej. Możesz znaleźć coś bardziej przydatnego lub lepiej dopasowanego do twojego przypadku.

5
+2

Pomija to uruchamianie ich. OP chce pominąć kompilację –

+0

@ user2863942 Cytat z mojego linka: _ "Jeśli absolutnie musisz, możesz również użyć właściwości maven.test.skip, aby pominąć kompilację testów maven.test.skip jest honorowany przez Surefire, Failsafe i Plugin kompilatora. "_ – maba

+0

@ user2863942 Powiedz mi proszę, dlaczego zagłosowałeś na moją poprawną odpowiedź ???? – maba

0

Konfiguracja Maven-kompilator-plugin, aby pominąć kompilację. Jeszcze raz go nie polecam.

<project> 
    <properties> 
    <maven.test.skip>true</maven.test.skip> 
    </properties> 
    [...] 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.0</version> 
     <configuration> 
     <executions> 
      <execution> 
      <id>default-testCompile</id> 
      <phase>test-compile</phase> 
      <goals> 
       <goal>testCompile</goal> 
      </goals> 
      <configuration> 
       <skip>${maven.test.skip}</skip> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
    [...] 
</project> 
+0

Jeśli muszę aktywować test kompilujący i uruchamiający się później, czy zainstaluje się mvn clean install -Dmaven.test.skip = false? Czy będę potrzebował innego parametru? –

+0

@Rafael. Wydaje mi się, że możesz zrobić "maven.test.skip", aby wykonać podwójne zadanie –

Powiązane problemy