Czy można powiedzieć Maven2, aby wykonał każdy test jUnit w nowej instancji JVM (fork) w trybie szeregowym, tj. Jeden po drugim.Jak nakazać Maven2 wykonywanie testów jUnit pojedynczo w nowej instancji JVM?
Odpowiedz
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)
Co o standardowej forkMode
opcji? Czy testy są przeprowadzane równolegle, a nie seryjnie?
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.
- 1. Grupowanie testów JUnit
- 2. Jak uruchomić JMH z wewnętrznych testów JUnit?
- 3. Jak używać testów maven i jUnit?
- 4. Netbeans i tworzenie testów JUnit
- 5. Ignorując AspectJ podczas testów JUnit
- 6. Uruchamianie sparametryzowanych testów JUnit równolegle w Eclipse
- 7. Czy NumberFormat.getInstance gwarantuje utworzenie nowej instancji?
- 8. Wykonywanie migawki zoptymalizowanego środowiska wykonawczego JVM
- 9. JavaScript tworzenia nowej instancji obiektów
- 10. Android usługa uruchomiona przez nie testów JUnit
- 11. Lepsze lub niestandardowe filtrowanie JUnit do testów
- 12. Uruchamianie testów JUnit z Eclipse daje ClassNotFound błąd
- 13. Zarządzanie danymi testowymi dla testów Junit
- 14. Tworzenie nowej instancji struktury w C
- 15. Uruchamianie zestawu testów JUnit przy użyciu Maven
- 16. Sposoby mierzenia zużycia pamięci podczas wykonywania testów JUnit
- 17. Wykonywanie określonych testów Geb zgodnie z otoczeniem
- 18. Wykonywanie testów jednostkowych za pomocą ServiceLocator
- 19. Maven Surefire argumenty przy uruchamianiu testów JUnit poprzez zaćmienia
- 20. Aplety siły do załadowania w tej samej instancji JVM?
- 21. Jak logować wyniki testów junit do bazy danych
- 22. Jak korzystać z VisibleForTesting dla czystych testów JUnit
- 23. Jak wstrzyknąć ServletContext dla testów JUnit ze sprężyną?
- 24. jak wyeksportować (JUnit) zestaw testów jako plik wykonywalny
- 25. Jak zaprojektować pojedynczo brzegi w XAML
- 26. Jak utworzyć raport HTML dla testów JUnit 5?
- 27. Jak wyłączyć równoległe wykonywanie testów dla wersji wielo-projektowych?
- 28. Projekt Gradle działa jUnit 5 testów w IntelliJ
- 29. Ponowne użycie kontekstu aplikacji wiosennych w klasach testów junit
- 30. Jak zatrzymać wykonywanie testów MsTest przy pierwszym błędzie?
Tak, 'pertest' działa również –
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