7.2 Kontrollfluss JUnit Test?

Frage zu JUnit

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

7.2 Kontrollfluss JUnit Test?
Also ich habe jetzt meine Testklasse geschrieben, die funktioniert auch und ist wunderbar, 100% coverage alles suppi.

Wenn ich jetzt jedoch den Public Test laufen lasse bekomme ich:
A: eine Rückgabe dass der Test funktiniert, jedoch auch
B: eine Coverage von 0% in allen Klassen, als würden sie nicht einmal aufgerufen werden.

Ist das jetzt normal einfach durch junit oder habe ich da etwas falsch gemacht?


Das liegt daran das des Coverage Plugin org.junit.blafoo.Test @Test benutzt
Und der PublicTest das Test.java @Test


Hallo,

ich hatte das gleiche Problem und hab dann im Konstruktor meiner Testklasse alle Testfälle aufgerufen. Aber das ist dann wohl nicht gewollt?
Soll ich also den Konstruktur leer lassen und hoffen das das dann passt? Oder mach ich da einen anderen Denkfehler?

Vg Jan

PS: Das hätte man schon auf dem Übungszettel besser spezifizieren können. Das Reverse Engineere nervt echt.


Ich habe einfach eine Main Methode in der alle Test Methoden aufgerufen werden, ich hoffe dass das so passt, jedoch wäre mir eine klare Antwort von jemanden der da mehr weiß auch lieb da ich mir echt nicht sicher bin.
Ehrlich gesagt regt es mich auch sehr auf dass die Aufgabenstellung da so schwammig ist.


Nein, es werden Schlicht alle methoden die mit @Test annotiert sind aufgerufen (wie in junit), nur eben mit dem vorgegebenen @Test aus der Test.java

1 „Gefällt mir“

Erstmal danke für die Klarifizierung.

Also muss ich die Methoden weder im Konstruktor noch in einer Main Methode aufrufen, wenn alle Methoden korrekt mit @Test annotiert sind?


Kann es sein, dass man doch eine main Methode benötigte:?

Ich habe 0 Punkte auf die ganze Aufgabe bekommen, obwohl die Tests alle implementiert waren. Scheinbar konnte keine einzige Methode über die secret Tests aufgerufen werden - und ich bin nicht der einzige, bei dem das passiert ist. Die Methoden habe ich exakt nach der Anleitung aus der Tafelübung mit Eclipse erstellt und der Coverage Test dort und Public Test haben beide funktioniert.


Merkwürdig…

Kannst du mir evtl. mal deine Lösung schicken, dann schau ich mir das an… Bitte nicht hier öffentlich sichtbar posten…

Um mir eine Mail zu schreiben klickst du auf meinen Benutzernamen und dann auf “E-Mail an Destranix schreiben”


Sind denn bei dir die Klasse und die Methoden auch beide public?

Wenn du dort das public vergessen hast (trotz ausdrücklicher Warnung auf dem Aufgabenblatt), dann kann der Test leider nichts lesen


Danke Dir Destranix!

Das Problem war tatsächlich genau wir LasagneAlForno geschrieben hat die fehlende Deklaration als public. Die Klasse und Methoden waren tatsächlich nur mit Standard-Sichtbarkeit deklariert, so wie sie Eclipse standardmässig erzeugt. Kleiner Fehler große Auswirkung :slight_smile:


Ist natürlich schade…Aber aus “Fehlern” lernt man ja bekanntlich…