Erstellung eines JSFUnit Projektes mit NetBeans
Diese Seite beschreibt wie ein Projekt für JSFUnit in Netbeans 6.9 angelegt werden kann. Dabei handelt
es sich um ein Web-Projekt, welches für einen JSFUnit-Test eingerichtet wird.
Falls Sie NetBeans noch installieren müssen, finden Sie hier eine Installationsanleitung.
Erstellung eines Web-Projektes




Ausbau zu einem Web-Beispielprojekt
Beschreibung:
Dieses Beispielprojekt soll eine durch Vor- und Nachname eingegebene Person individuell begrüßen.
Auf der Index-Seite sollen Vor- und Nachname eingegeben werden. Nach Bestätigung durch Klick auf
"weiter", wird auf eine Seite weiter geleitet, die eine an die eingegebene Person angepasste Begrüßung ausgibt.
Fertiges Web-Beispielprojekt herunterladen.
Anleitung zum Selbsteinrichten:
Als erstes erstellen wir ein Package namens bean und darin eine Klasse Person.
Hier ist die Beispielklasse. Zum Kopieren einfach auf das Bild klicken.

Bearbeiten der index.xhtml

Als nächstes erstellen wir eine Begrüßungsseite



Rechte Maustaste auf das Projekt -> New Other...

Bearbeiten der faces-config Datei

Damit haben wir ein erstes funktionstüchtiges JSF Beispielprojekt.
Ausbau zum JSFUnit-Testprojekt
Beschreibung:
Es werden die notwendigen Bibliotheken eingebunden und ein Testszenario erstellt.
Dieses Testszenario prüft die vorher erstellte Applikation auf Funktionstüchtigkeit.
Fertiges JSFUnit-Testprojekt hier herunterladen.
Anleitung zum Selbsteinrichten:
Als erstes erstellen wir eine Bibliothek für die einzubindenden Jar-Files.
Jar-Files hier herunterladen.

Links unten -> New Library...


Rechts mitte -> Add JAR/Folder...




Somit sind die Notwendigen Libraries eingebunden und es kann mit dem Testszenario begonnen werden.
Dieses besteht aus einer Testklasse ( TestCase ), welche mit Hilfe von JUnit ausgeführt wird.
Rechte Maustaste auf das Projekt -> New Other


Es sollte JUnit in der Version 3 ausgewählt werden, da unter Anderem die Annotationen aus JUnit 4 in JSFUnit 1.3.0
noch nicht unterstützt werden und die benötigte "junit.runner.TestSuiteLoader" Klasse in JUnit 4 fehlt.
Der Testfall muss in den bean Ordner verschoben werden, damit dieser vom Browser ausführbar ist.


Die Testklasse "PersonJUnitTest.java" startet vor jedem Test eine JSF Session und öffnet die zuvor erstellte index.xhtml Seite.
Die beiden Testfälle greifen dann auf Elemente der Seite zu, um Werte in Eingabefelder zu schreiben und den Inhalt danach auszuwerten.
Um das gewünschte Element auszuwählen, werden die in der index.xhtml vergebenen IDs verwendet.
Speziell in diesem Beispiel sind es "PersonF:vorname" und "PersonF:name",
wobei "PersonF" die ID des Formulars und "name" und "vorname" die entsprechenden IDs der beiden inputText Elemente sind.
Der erste Testfall ist darauf ausgelegt ein korrektes Ergebnis anzuzeugen, während der zweite einen gescheiterten Test demonstrieren soll, indem bewusst ein Wert gesetzt wird,
der nicht von dem Testfall erwartet wird.
Zum Schluss muss nur noch die Datei cactus-report.xsl in den Web-Ordner kopiert werden.

Test ausführen
Zum Ausführen muss das Projekt gestartet werden ( Die auszuführende Datei muss selektiert sein. ):

Anschließend wird mit Hilfe des Browsers der Test ausgeführt:
http://localhost:8080/WebApplication1/ServletTestRunner?suite=bean.PersonJUnitTest&xsl=cactus-report.xsl

Beispielhaft gezeigt sind ein erfolgreicher und ein gescheiterter Test mit Fehlermeldung.
Beim Versuch den Test aus NetBeans heraus zu starten, könnte die Cactus Konfiguration behilflich sein.
Zurück zu JSFUnit
Zurück zur Werkzeugübersicht
Zurück zur CSI-Hauptseite