Zum Inhalt springen

JUnit: wie private Methoden testen ?


chepro

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...