Hallo ich stehe im Moment vor einer Anwendung für die ich Testfälle schreiben soll. (Ja, ich weiß, ich hätte die Tests auch lieber vorher geschrieben:()
Die Anwendung besteht aus:
xhtml(Primefaces) → ManagedBeans → EJB’s → Oracle mit JPA Anbindung.
Ich habe schon einiges zu dem Thema gefunden von normalen JUnit Tests, OpenEJB, Arquillian, Mockito etc.
Ich bin ein bisschen mit Informationen überladen und bin mir nicht mehr wirklich sicher, wie ich das Ganze angehen soll. Ich habe verschiedene Ansätze gesehen aber da geht es allein schon bei der Objekterstellung los. Ich habe Ansätze gesehen, wo einige ihre ganzen benutzen Objekte vorab in einer mega Initalisatonsklasse erstellen alles in eine DB speichern und diese dann in den Tests benutzen. Dann wiederum ein Beispiel wo bei jedem Tests alle Objekte, die für diesen Test gebraucht werden, einzeln erzeugt und in die DB gespeichert wurden.
Dann gehts bei den EJB’s weiter,… es sind zwar normale Klasse, die ich einfach initalisieren kann, auch ohne Container für z.b. normale JUnit Tests, aber dann is auch das ganze Transaktions- Management futsch, was ja sonst der Container übernimmt und das wäre ein mega „zusätzlicher“ Code, den ich dafür bräuchte um bei jedem Tests Transaktionen aufzumachen. Irgendwie ist da für mich kein Sinn drin, dass ich beim Testen das dann alles selber mache.
Dann kommt die nächste Frage, was muss ich alles testen. Wenn ich zum Beispiel eine einfache Usergruppe in der Oberfläche erstelle und dort Nutzer hinzufüge und das ganze mit JPA wegspeichere, kann ich die Usergruppe wieder auslesen, prüfen ob wirklich die User drin sind. Oder sollte ich darauf bauen, dass JPA das schon richtig macht ? o0
Falls das alles zu theoretisch ist, kann ich mich am WE auch gern hinsetzen und einfach mal ein kleines Beispiel machen.(Da ich keinen Code hier reinstellen kann von dem Projekt) Ihr könnt gern alles oben geschriebene vollständig kritisieren und auseinander nehmen, ich kann dabei nur lernen