Wenn ich groovy Unit Tests als Klassen schreiben dann Maven wird diese laufen. Aber wenn ich den Groovy Unit Test als Skript schreibe, ignoriert Maven sie. Mein Pom hat Abhängigkeiten von groovy-all und junit und verwendet das Maven-Compiler-Plugin. Ich kann groovy Skript Tests von der Befehlszeile mit GroovyTestSuite ausführen, wo ich die Skripte hinzufügen und dann ausführen. Aber möchte dies als Teil eines Maven Builds tun. Ich habe diese Frage Execute external groovy script from Maven gesehen, aber ist nicht ganz dasselbe. Grüße, JohnVerwenden Sie groovy Skript für Maven Unit Test
Antwort
Groovy-Skripte nicht kompilieren .class und damit die Maven todsichere/Fail-safe-Plug-In für Einheit/Integrationstests werden nichts von der testCompile Phase hat tatsächlich zu laufen. Wenn Sie sie als groovige Skripte schreiben, müssen Sie ein anderes Maven-Plugin verwenden, um nur die Skripte auszuführen ... aber wahrscheinlich wird das Ergebnis des JUnit-Ergebnisses nicht ausgegeben, das Sie normalerweise von etwas wie Surefire erhalten würden.
Da GroovyTestSuite eine Klasse für sich ist und Maven die Tests ausführen soll, würde ich vorschlagen, dass Sie Ihre Tests als eigentliche Klassendateien statt als Skripte schreiben. Sie können die Tests auch so starten, dass sie über die Befehlszeile mit maven ausgeführt werden, damit Ihre Anforderung nicht beeinträchtigt wird. Wenn Sie diesen Weg gehen, können Sie in Zukunft weitere Frameworks (wie z. B. Spock!) Verwenden und bleiben auch innerhalb der Grenzen der traditionellen Maven/JUnit-Konventionen.
Nun, wenn Sie in der Tat auf Groovy-Skripte als Ihre Tests festgelegt sind, könnten Sie etwas Ähnliches wie this solution tun und binden das Ziel auszuführen, konfiguriert ist, um Punkt an Ihrem groovy-Skript (n), auf die test
Phase. Ich würde jedoch nicht empfehlen, diesen Weg zu gehen, es sei denn, Sie haben einen sehr expliziten Grund, im groovigen Skriptbereich für Ihre Testsuiten zu bleiben. Wenn Sie Ihre Testsuiten als groovige Klassen statt als Skripte schreiben, sollten Sie keine zusätzlichen groovigen Funktionen verlieren.
Ja, ich denke du hast Recht - ich bleibe am besten beim Unterricht. Ich mag die Idee, ein einfaches Skript zu schreiben, aber ich denke, der zusätzliche Aufwand überwiegt das. Vielen Dank für die Antwort. – John
- 1. Unit-Test-Maven-Plugins
- 2. Verwenden Sie Pseudo-MongoDB-Server für Unit-Test
- 3. MR-Unit vs JUnit für Unit-Test
- 4. Laden Sie ein Testbild für Unit-Test
- 5. Wie unterscheidet sich Maven Unit Test von Integration Test?
- 6. Wie Unit-Test-Logging-Fehler mit Spock Rahmen in groovy
- 7. CXF-Unit-Test
- 8. Wie Unit Test für Xtext
- 9. Test :: Unit-Test für Devise-Benutzer :: RegistrationController
- 10. maven unit Testcode Abdeckung
- 11. Unit-Test für Qt Quick
- 12. Was verwenden Sie zum Unit-Test Ihres Web-UI?
- 13. maven Abhängigkeiten groovy
- 14. Verwenden Sie ObjC in Swift-Unit-Test Ziel
- 15. maven groovy stub generation
- 16. Scala - Unit-Test-Setup (verwenden Sie Zugangsmodifikator Qualifier?)
- 17. Laufende Groovy Unit Tests in Ant für ein Java-Projekt
- 18. Welches kostenlose Unit-Test-Framework für C#?
- 19. ungelöste Abhängigkeit für httpbuilder in groovy Skript
- 20. Jenkins Maven Build Berichte Erfolg trotz fehlgeschlagenen Unit-Test
- 21. docker unit test setup
- 22. Unit Test Sockets
- 23. maven kompilieren groovy
- 24. Grundeinheitstest vs. Unit Test
- 25. Unit-Test LinqToSqlDomainService
- 26. Web-Ressourcen für den Unit-Test
- 27. Unit Test JSPs
- 28. Unit Test Wrapper Objekte?
- 29. XCode-Unit-Test
- 30. Unit-Test in C++
Sind die Tests in der groovigen Skriptversion mit einem bestimmten Framework (z. B. Spock)? Wenn nicht, sind sie mit JUnit-Annotationen versehen oder schreiben Sie nur Assertions, die das Script beim Ausführen ausführt? – alexanderific
Es gibt kein Framework (glaube ich) - ich benutze nur groovy.util.GroovyTestCase und dann groovige Skripte. Wie ich schon sagte, läuft es auf der Kommandozeile, aber Maven sieht diese nicht als Testfälle. Also gibt es ein Plugin, das ich verwenden sollte, die Skripte im Gegensatz zu Klassen abholen wird? – John