Veröffentlicht 7. April 200322 j Wie teste ich mit JUnit private Methode OHNE diese zu public zu machen ?
7. April 200322 j Hi, ich kann dir zwar nicht direkt helfen, aber imho braucht man private Methoden nicht zu testen, weil die immer direkt oder indirekt über öffentliche Mthoden aufgerufen werden. Wenn alle Methoden, die eine private Methode verwenden, den Test durchlaufen, dann erfüllt die private Methode offensichtlich den Zweck den sie mit der aufrufenden Methode bewerkstelligen soll. Gruß Jaraz
8. April 200322 j .... aber wenn ein fehler auftritt, kann es von der öffentlichen und/oder der privaten methode kommen. da hätte ich gerne differenziert. Edit Jaraz: Habs mal zusammengeführt.
8. April 200322 j [OT]ich nehme an, dass sollte zu den JUnits... 'n kleiner tip an rande: lass die ueberschriften bei antworten wech, dann passiert sowas net. [/OT]
10. April 200322 j @ chepro Ich kann dir leider auch nicht so direkt helfen da ich mich mit JUnit noch nicht so sehr beschaeftigt habe. Aber ich kann dir sagen, wie ich es zur Zeit mache. Ich erstelle dazu mehere Klassen (TestCases) die ueber TestSuite aufgerufen werden. In den einzelnen TestCases pruefe ich die Resultate. Nach der Art: Ich gebe 1 + 1 rein und schaue ob auch die erwartet 2 rauss kommt. Konnte dir hoffentlcih etwas helfen smokie
11. April 200322 j Original geschrieben von chepro .... aber wenn ein fehler auftritt, kann es von der öffentlichen und/oder der privaten methode kommen. da hätte ich gerne differenziert. Edit Jaraz: Habs mal zusammengeführt. JUNIT wird zum Regressionstest oder auch Blackbox-Testing verwendet, d.h. man überprüft offen gelegte Schnittstellen (public) ob nach einer Veränderung des Codes immer noch der Vertrag erfüllt wird, dabei sind private Methoden nicht relevant da die von aussen nicht sichtbar sind. Wenn die public - Methode funktioniert , dann funktionieren auch die private Methoden die eventuell von diesen public - Methoden gerufen werden. Frank
11. April 200322 j wie schon geschrieben: man weiß nie 100%ig, ob der fehler durch die public oder privat-methode hervorgerufen wurde. nur weil man JUnit für black-box-versuche verwendet, heißt dass ja nun nicht, dass nicht auch die entwickler selbst JUnit verwenen dürfen, die wissen, was sie programmiert haben. ich habe selbst gesucht und bin fündig geworden: es gibt für JUnit extra Accessor-klassen die auf private methoden via reflection zugreifen können.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.