Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JUnit: wie private Methoden testen ?

Empfohlene Antworten

Veröffentlicht

Wie teste ich mit JUnit private Methode OHNE diese zu public zu machen ?

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

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

[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]

@ 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

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.