2010-09-12 10 views
13

Ich habe Analyselähmung, die alle verschiedenen Funktionsprüfungsoptionen für eine neue Anwendung von Grails (v1.3.4) untersucht. Ich habe beiWas sind die Vor- und Nachteile von Funktionstest-Frameworks für eine neue Grils-Anwendung?

sah

und es müssen andere sein. Ich denke, einige der Kriterien, die ich verwenden würde eine Entscheidung zu treffen sind (in keiner bestimmten Reihenfolge):

  • Wahrscheinlich Langlebigkeit, aktive Entwicklung
  • Kann für PageObject oder ähnliche Muster Ajax/JavaScript
  • unterstützen
  • Maturity
  • Headless (zB Htmlunit) ist in Ordnung, vor allem, wenn es gute Dinge gehen schneller
  • Reporting
  • macht
  • Unterstützung für NTLM Credential Provider oder ähnlichen
  • Kompakte, robusten Testskripte
  • Nutzt groovy Sprache

würde ich besonders daran interessiert sein, von Menschen zu hören, die mehr als einen Rahmen versucht hat. Vielen Dank!

Antwort

7

Ich pflege das Plugin für WebTest, aber ich würde Geb versuchen. Ich habe es noch nicht persönlich für ein Projekt verwendet, aber ich denke, es wird die meisten Ihrer Kriterien erfüllen.

Es ist das am aktivsten entwickelte (IMO) aber ist ziemlich neu. Es basiert auf WebDriver/Selenium und sollte daher auch gut zu Ihrer bisherigen Erfahrung passen.

WebTest sieht heutzutage nicht viel Entwicklung und hat keine Unterstützung für Seitenobjekte. Aber es gibt dir großartige Berichte. Es ist ein Nachteil, dass es die historische Grundlage von Ant ist. Es macht es schwierig, dynamisch zu testen, da Ihre Testschritte beim Ausführen des Testfalls aufgebaut werden und dann der eigentliche Test als zweiter Durchlauf ausgeführt wird.

Ich habe auch GFunc benutzt, aber der Mangel an Berichterstattung ist ein echter Schmerz und es wird nicht so viel Entwicklung wie Geb. Es ist weit mehr "groovy" als WebTest und ist ein dünner Wrapper über HtmlUnit, der es Ihnen erlaubt, Ihre eigenen Testfunktionen ganz einfach zu "rollen".

prost

Lee

+0

Lee - danke dafür. – John

4

Grails Funktionstest ist nur Htmlunit. Ich würde heute nicht vorschlagen, HtmlUnit direkt mit den anderen verfügbaren Frameworks zu codieren, die Ihnen Seitenobjekte und bessere Abstraktionen liefern.

Ich habe das Webdriver-Plugin verwendet, das ziemlich gut funktioniert und ein Seitenobjekt eingebaut hat - aber die Seitenobjekt-Unterstützung ist an die JUnit-Hierarchie gekoppelt, was es für mich schwierig macht zu verwenden, weil ich es auch benutzen möchte Gurke.

Ich bin sehr aufgeregt über Geb und höre viele Erfolgsgeschichten mit ihm, aber ich habe es nicht fertig gebracht, es selbst einzurichten.