Ich finde das Feedback sieht ziemlich langsam aus, wenn ich Integrations- und Funktionstests in Grails durchführe. Gibt es eine Möglichkeit, dass ich sie während des Schreibens der Tests gegen eine laufende Serverinstanz ausführen kann, um bei jeder Ausführung die Serverstartzeit zu sparen?Kann ich Grails Integration & Funktionstests gegen einen laufenden Server durchführen?
Antwort
Sie können grails interactive
verwenden, was Sie tun, ohne einen Server zu starten. Es startet eine JVM und führt sie weiter, und Sie können damit Unit- und Integrationstests ausführen. Denken Sie daran, dass Ihnen irgendwann der Arbeitsspeicher ausgehen wird und dass Sie regelmäßig neu starten müssen. Siehe http://docs.grails.org/latest/guide/gettingStarted.html#usingInteractiveMode
Auch in 1.3.5 können Sie Funktionstests gegen einen laufenden Server ausführen. Verwenden Sie das baseUrl
Attribut, das in Abschnitt 9.3 bei
beschrieben wird. Ich benutze Grails 1.3.5 und das EasyB plugin für Geschichten im Rahmen von Funktionstests.
Werfen Sie einen Blick auf http://padcom13.blogspot.com/2010/10/grails-easyb-and-selenium.html für Schritt-für-Schritt-Anweisungen.
gibt es eine Option --baseUrl
z.
grails test-app --baseUrl=http://localhost:8080/myapp/
die Tests gegen eine laufende Instanz läuft, ist ein Nachteil, dass der Schiefer nicht nach einem Test sauber gewischt wird, so dass, wenn Ihr Test an die DB schreibt, lädt eine Datei oder eine andere dauerhafte Veränderung die Anwendung, dann müssen Sie möglicherweise einige TearDown.
Dies wird am Ende des Funktionstestabschnitt der grails docs
http://grails.org/doc/latest/guide/testing.html#functionalTesting
Es ist kurz dokumentiert zum Schreiben/Debug-Funktionstests nützlich
- 1. Grails Spring Integration testen
- 2. Eine rechte Trimmung gegen eine Zeichenfolge durchführen
- 3. Integration von Grails und GWT
- 4. Wie kann ich eine Initialisierungsfunktion für einen Grails-Dienst aufrufen?
- 5. Kann nicht Instrumentierung Tests durchführen, nachdem ich
- 6. Wie kann ich Reverse Geocoding auf meinem eigenen Server durchführen?
- 7. Kann ich einen Grails-Dev-Server zum erneuten Laden zwingen, wenn Code neu kompiliert wird?
- 8. Geb Funktionstests in Grails fehlgeschlagen, weil die Webanwendung nicht gestartet wurde
- 9. Authentifizieren eines CouchDB Benutzer gegen einen externen Server
- 10. Kann ich in Elixirs ExUnit nur einen Test durchführen?
- 11. Kann ich einen statischen Import einer privaten Unterklasse durchführen?
- 12. Wie kann ich Berechnungen im laufenden Betrieb innerhalb der Vagrant-Datei durchführen
- 13. Wie kann ich HTTP PUT-Uploads auf einen VMware ESX Server in PowerShell durchführen?
- 14. Kann ich einen Prozess, der Festplattenaktivität blockiert (vorzugsweise ohne ihn zu töten), einen Arbeitsspeicherabgleich durchführen?
- 15. Wie kann ich einen laufenden Maven Build in NetBeans beenden?
- 16. Wie kann ich Befehlszeilenargumente an einen bereits laufenden Prozess übergeben?
- 17. Kann ich einen laufenden Thread in den Slime (Swank Emacs)
- 18. Wie kann ich einen laufenden Azure-Webjob stoppen/abbrechen?
- 19. Kann ich mit GDB einen laufenden Prozess debuggen?
- 20. Grails Integration Tests mit mehreren Diensten
- 21. Unterschied zwischen Funktionstests und Systemtests?
- 22. Wie kann ich mit numpy.correlate Autokorrelationen durchführen?
- 23. Snap.svg: Wie programmiere ich einen laufenden Ziehvorgang?
- 24. Verknüpfter Server vs. Integration
- 25. Wie kann ich Methodensignatur-Caching durchführen?
- 26. Kann ich einen Grails-Service in einem Domänenobjektkonstruktor aufrufen?
- 27. Kann ich SparkContext.appName im laufenden Betrieb ändern?
- 28. Wie kann ich in gVim Rechtschreibprüfung durchführen?
- 29. Wie kann ich Introspektion in Perl durchführen?
- 30. Wie kann ich Komponententests in Perl durchführen?
Dies funktioniert gut - ich nicht entdeckt hatte, dass Befehl. Ich werde in den nächsten Monaten viel Zeit sparen! Vielen Dank. –