2011-07-25 4 views

Odpowiedz

25

trzeba bulić JVM jak wyjaśniono here

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
    <forkMode>always</forkMode> 
    </configuration> 
</plugin> 

powinno być również możliwe po prostu deklarując właściwość sytem

mvn -DforkMode=always test 

Jak opisano w dokumentacji: „zawsze” Widelce każda klasa testowa. Nie wiem, czy ustawienie "pertest" rozwidnie się dla każdego testu.


Dzięki @Djebel za wskazanie, że forkMode jest przestarzałe teraz. Jest to szczegółowa dokumentacja „Fork Options and Parallel Test Execution” i jak korzystać z nowych parametrów forkCount i reuseForks i że obejmuje również następujące wskazówki migracji:

Old Setting       New Setting 
forkMode=once (default)    forkCount=1 (default), reuseForks=true (default) 
forkMode=always      forkCount=1 (default), reuseForks=false 
forkMode=never      forkCount=0 
forkMode=perthread, threadCount=N forkCount=N, (reuseForks=false, if you did not had that one set) 
+2

Tak, 'pertest' działa również –

+3

Uwaga: 'forkMode' jest teraz przestarzałe, [reuseForks] (http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#reuseForks) należy użyć zamiast tego – FBB

1

Co o standardowej forkMode opcji? Czy testy są przeprowadzane równolegle, a nie seryjnie?

1

Cóż, próbowałem tych odpowiedzi, ale właśnie dostałem kilka funkcji testowych tego samego testu JUnit w tym samym czasie. Do tworzenia JVM dla każdego JUnit pliki testowe (co mi potrzebne) należy użyć konfiguracji folowing (różnica to parametr parallel):

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.9</version> 
     <configuration> 
      <parallel>classes</parallel> 
      <reuseForks>false</reuseForks> 
      <includes> 
       <include>**/*Test.java</include>  
      </includes> 
     </configuration> 
    </plugin> 

Wymień MATTERN **/*Test.java na taki, który pasuje do tych testów JUnit, które muszą działać w różnych maszynach JVM. Więcej informacji na stronie: Combining forkCount and parallel.

Powiązane problemy