« Testing Part1: Rails | Main | HOWTO test EJB3 with JUnit outside of the container »

Testing Part2: Java EE

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)?

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...

Philipp Haußleiter:

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 :-).

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

This page contains a single entry from the blog posted on 06.03.08 15:00.

The previous post in this blog was Testing Part1: Rails.

The next post in this blog is HOWTO test EJB3 with JUnit outside of the container.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.31