2010-11-28 5 views
5

Ich habe Test-Code geschrieben, noch bevor Sie verstanden, was TDD tatsächlich war. Das Aufrufen von Funktionen und Klassen ohne die Implementierung hilft mir, meine Anwendung schneller und effizienter zu verstehen und zu erstellen. Ich bin also sehr damit beschäftigt, Code zu schreiben-> ihn zu kompilieren-> Fehler zu sehen-> ihn zu beheben, indem ich seine Implementierung erstelle.Test-gesteuerte Entwicklung für JSPs speziell

Dieser Prozess ist ein bisschen schwieriger für das Web. Speziell JSPs. Wenn ich meine Java-Klassen kompiliere, ist alles in Ordnung, ich kann die Kompilierungsfehler sehen. Wenn jedoch Fehler in den JSPs auftreten, muss ich einen Browser öffnen und diese spezifische JSP aufrufen.

Gibt es eine Möglichkeit, diesen Prozess zu vermeiden und mir die JSP-Kompilierfehler anzuzeigen, ohne tatsächlich einen Browser zu laden?

Antwort

2

Ich teste JSPs normalerweise nicht direkt. Es ist im Allgemeinen eine gute Idee, so wenig Logik wie möglich in Ihren JSPs zu behalten, und wenn Sie JSPs nur ein paar <c:out> Tags enthalten, dann gibt es nicht wirklich zu viel zu testen. Wenn Sie jedoch eine gewisse Menge an Logik in sich haben, dann würde ich diese Logik in ein benutzerdefiniertes Tag extrahieren, das Sie recht einfach testen können.

+0

Sie haben Recht ... jsps sollte keine Logik an erster Stelle enthalten –

3

Sicher. Sie können JSP vorkompilieren. Es gibt sogar eine ant-Aufgabe, die das tut. Bitte beachten Sie den Link: http://ant.apache.org/manual/Tasks/jspc.html

Aber ich denke, dass dies nur der erste Schritt ist. Dadurch können Sie Kompilierungsfehler sehen. Ich denke, dass Sie mehr wollten, d. H. Komponententests. Ich glaube, dass Tools wie Jakarta Cactus (oder andere) Ihnen helfen können.

BTW vor kurzem fand ich die folgenden resource, die eine große Anzahl von Java-Test-Tools aufzählt.

+0

+1 JspC ist nicht nur eine ant-Aufgabe, es ist eine Shell für den integrierten JSP-> Servlet-Compiler von Tomcat, den Sie als Teil einer Build-Umgebung verwenden können. @Luca: Selbst wenn Sie Tomcat nicht als Ihren JEE-Server verwenden, könnte es ein praktisches Werkzeug in Ihrem Prozess sein: http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/jasper /JspC.html –

+0

"05.08.2011 - Jakarta Cactus ist im Ruhestand." – Raedwald

1

Kompilieren ist der einfache Teil, und ich denke, dass AlexR's Antwort es gut behandelt.

Das Testen und Testen von JSP ist schwierig, da das Testen wirklich die Bereitstellung in einem Webcontainer oder das Simulieren (Mocking) und das Ausführen eines Browsers oder eines Browsers erfordert.

Cactus kann bei Tests im Container helfen. Selenium kann auch.

Oder Sie können die Umwelt verspotten. Wenn Sie Spring verwenden, hat es einige gute Unterstützung dafür.

Aber die beste Möglichkeit, die Schwierigkeiten beim Testen und Testen von JSP zu bewältigen, besteht darin, JSP nicht mehr zu verwenden oder zumindest die Logik in Ihrem JSP-Code zu minimieren, indem Sie Skriptlets vermeiden.

Da eine JSP ist nur ein Servlet in der Verkleidung, dann ist es immer möglich, Web-Anwendungen ohne JSP zu schreiben, und es gibt Optionen Frameworks wie Wicket und Tapestry oder Template-Engines wie Velocity mit Hilfe von Java Web-Anwendungsentwicklung ohne JSP recht einfach zu machen.

Verwandte Themen