So. Nun muss ich die Test nur noch für meine Java EE-Anwendung umsetzen. Dafür nimmt man erstmal JUnit und Netbeans hilft dabei. Aber ist das wirklich eine gute Wahl? Immerhin verwende ich JSF und da gibt es andere (bessere?) Möglichkeiten. JSFUnit(beta), JunitEE, Cactus, Selenium, ... und wieder immernoch brauche ich einen JSF-Experten!
Nützliche Links:
http://www.infoq.com/news/2007/12/jsf-testing-tools
http://junit.sourceforge.net/doc/cookbook/cookbook.htm
http://www.junitee.org/
Ein gutes Netbeans-Tutorial für Netbeans habe ich nicht gefunden, aber eigentlich ist das auch nicht nötig. Legt man einen TestCase an (rechtsklick auf die Klasse, für die man den TestCase haben will > Tools > Create JUnit Tests), so kann man zwichen JUnit 3.x oder 4.x wählen, dann noch welche Tests man haben will und die Tests werden im TestPackage erstellt. Also im Prinzip hat man hier - wie bei Rails - Testdummies, die man dann reparieren muss. Das mache ich dann jetzt mal.
Soweit so gut. Allerdings sind diese erstmal nur fürs Backend. Um die WebApp zu testen bräuchte ich HttpUnit oder ähnliches.
UPDATE: Soweit gar nicht gut, weil man nicht einfach EJBs testen kann, da diese ja im AppServer laufen müssen. Man muss also einen Testdienst implementieren, der dann tests in der deployten Anwendung ausführen kann. Oder man nimmt JUnitEE oder Cactus oder...?? Ich finde es erstaunlich wie wenig sinnvolle Hilfe man zu diesem Thema findet. EJBs testen sollte doch eigentlich ziemlich wichtig sein.... Zitat: "Although this [JUnit Testing] works well for most standalone applications, it becomes outrageously complicated when you test code -- like an EJB -- that runs in an application server."
btw: Den Fehler im Rails-Testing habe ich immernoch nicht gelöst. Siehe Blogeintrag von gestern. Bin über Kommentare dankbar.
Comments (3)
Da Deine EJBs ja eigentlich nur POJOs mit Annotationen sind - kannst Du sie nicht einfach außerhalb des Containers selbst instanziieren und laufen lassen? Ggf. indem Du die Annotations selbst implementierst (oder mal googlest, ob das jemand anders schon getan hat)?
Posted by Stefan Tilkov | 09.03.08 23:18
Posted on 09.03.08 23:18
ja, da gibt es zum Beispiel das MockEJB Framework (http://www.mockejb.org/), aber das letzte Release ist von 2004 und kennt also noch keine EJB 3.0...
Was anderes in dieser Art habe ich bisher noch nicht gefunden und ich wunder mich, warum...
Es muss doch jeder seine EJBs testen, warum gibt's da nix komfortables?
Ich schau mir demnächst mal JUnitEE und Cactus an...
Posted by Gerald Schenke | 11.03.08 17:54
Posted on 11.03.08 17:54
Also die Google-Kristall-Kugel hat mir in erster Linie auch nur das Cactus Framework raus geschmissen. Aber letztendlich würde ich auch nur die einzelnen POJOs testen.
Vielleicht ist:
http://raibledesigns.com/wiki/Wiki.jsp?page=JSFBeans
Ja noch hilfreich :-).
Posted by Philipp Haußleiter | 16.03.08 19:52
Posted on 16.03.08 19:52