Wie kann ich eine Junit 4.8.1 Testsuite über die Befehlszeile ausführen? Auch ich möchte die Kategorien eingeführt mit JUnit 4.8, gibt es eine Möglichkeit, wo Ich kann über die Befehlszeile die Kategorie angeben, die ich ausführen möchte.Führen Sie die JUnit Testsuite über die Befehlszeile aus
Antwort
Es gibt keine Möglichkeit (wie in 4.8) Kategorien über die Befehlszeile anzugeben.
Ich kann zwei Ansätze vorschlagen: 1. Erstellen Ant-Datei mit Junit Ziel und rufen Sie dann dieses Ziel aus Empfehlungszeile. 2. Implementieren Sie Testsuite-Klasse, in einigen Klassen mit main() -Methode. So können Sie es ausführen.
Mit java
Lauf JUnitCore Klasse (siehe auch here).
Kategorien sollen mit Testsuiten mit @RunWith(Categories.class)
, @IncludeCategory
und @ExcludeCategory
verwendet werden. Mir ist keine dynamische Möglichkeit bekannt, Kategorien zum Ausführen von Tests zu verwenden, aber ich würde gerne wissen, dass es solche gibt. Sie können vordefinierte Testsuiten für bestimmte Kategorien verwenden, um sie auszuführen.
In 4.10, wir tun dies:
mvn verify -p(your profiles) -Dit.test=(SuiteClass)
wo SuiteClass
ist eine leere Klasse (keine Methoden oder Felder), die mit @RunWith(Categories.class)
und @Suite.SuiteClasses({FooIT.class, BarIT.class, ...})
kommentiert wird. FooIT
und BarIT
sind die Integrationstests.
- 1. So führen Sie OCTest über die Befehlszeile aus, nicht XCode
- 2. PHPUnit - Ausführen einer bestimmten Testsuite über die Befehlszeile test runner
- 3. Wie führen Sie SpecFlow-Szenarien über die Befehlszeile mit MSTest aus?
- 4. JUnit - Führen Sie Testfälle aus einer Webanwendung
- 5. Führen Sie mit ZendGuard codiertes PHP-Skript über die Befehlszeile aus
- 6. So führen Sie Testsuite in Python aus setup.py
- 7. Entfernen redundanter JUnit-Testsuite-Tests
- 8. Führen Sie nur einen Einheitentest aus einer Testsuite in Laravel
- 9. Ordnervergleiche über die Befehlszeile
- 10. Führen Sie MSBuild aus, beachten Sie die entladenen Projekte
- 11. Laufende JUnit Testsuite mit Maven
- 12. Ausgabe an die Befehlszeile, wenn über die Befehlszeile gestartet
- 13. Können Sie alle JUnit-Tests in einem Paket über die Befehlszeile ausführen, ohne sie explizit aufzulisten?
- 14. Konfigurieren $ Injektor über die gesamte Testsuite
- 15. So schließen Sie Rserve über die Befehlszeile
- 16. Zielframework über die Befehlszeile überschreiben
- 17. Maven: Hinzufügen eines Testverzeichnisses über die Befehlszeile
- 18. Wie laufen mehrere PHPUnit-Testsuiten über die Befehlszeile?
- 19. Führen Sie eine Ruby-Bibliothek von der Befehlszeile aus
- 20. Golang: Führen Sie alle .go-Dateien im aktuellen Verzeichnis über die Befehlszeile (Multi-Datei-Paket)
- 21. So führen Sie die interne Abwicklungsfunktion aus:
- 22. Junit 4 Testsuite und individuelle Testklassen
- 23. Webbereitstellungspaket über die Befehlszeile erstellen
- 24. Datenbank über die Befehlszeile erstellen
- 25. svn Geschichte über die Befehlszeile
- 26. Führen Sie Word 2013 von der Befehlszeile aus
- 27. So führen Sie verschiedene @Before in JUnit aus
- 28. VS2008: Kopieren der Website über die Befehlszeile
- 29. Führen Sie vim Befehl von der Befehlszeile aus
- 30. Führen Sie einen Befehl als Befehlszeile aus einer Symfony-Funktion
Es ist möglich, einen benutzerdefinierten Test-Runner zu erstellen, der Tests basierend auf Kategorien dynamisch auswählt. – topchef
Hier ist eine Möglichkeit, alle Tests in einer Suite/Kategorie einfach auszuführen (ohne die Tests explizit aufzuführen): http://stackoverflow.com/questions/2176570/how-to-run-all-tests-belonging-to-a- bestimmte-Kategorie-in-Junit-4/2176791 # 2176791 (lassen Sie mich wissen, wenn dies nicht, was Sie meinten.) – Jonik
Ja, ich bin mir dessen bewusst (http://stackoverflow.com/questions/3324623/how-can -i-run-all-junit-tests-in-einem-paket-netbeans/3332970 # 3332970). Ich denke, was Autor bedeutet, ist Tests auf der Grundlage der Kategorie als Parameter zu laufen. – topchef