JUnit Klasse findet keinen Testcase |
18.12.2014, 19:36 | Auf diesen Beitrag antworten » | ||||||||||
Haevelin | JUnit Klasse findet keinen Testcase Ich habe folgende Klasse zur Kundenbewertung:
Hierzu habe ich folgende Testklasse geschrieben:
Wenn ich die Testklasse als JUnit laufen lasse erhalte ich als Fehlermeldung: No tests found in aufgabe18 Was habe ich falsch gemacht? (Es wird ein State-Pattern in der Aufgabe verwendet) |
||||||||||
|
|||||||||||
18.12.2014, 22:04 | Auf diesen Beitrag antworten » | ||||||||||
Karlito | Hallo Haevelin, assertSame prüft, ob es sich um genau das selbe Objekt handelt. Kleine verdeutlischung: Wenn zwei Personen mit dem selben Stift schreiben, so müssen sie ihn sich teilen. Schreiben sie jedoch mit dem gleichen Stift, so sind es zwei Stifte, welche sich gleichen. assertSame() prüft, ob zwei Variablen auf das selbe Objekt referenzieren. Um zu prüfen, ob die Objekte gleich sind, musst du assertEquals() vertwernden. Edit: Ups, das ging an der Frage vorbei, beantwortet aber sicher eine Folgefrage... Gruß, Karlito |
||||||||||
19.12.2014, 09:43 | Auf diesen Beitrag antworten » | ||||||||||
Haevelin | Hallo Karlito, bei der Eingabe wird ein anderer Zustand erzeugt. Wenn dieser Zustand dann Zustandkritisch ist, dann wird dennoch wenn ich mit new ein Objekt ZustandKritisch erzeuge das unterschieden von dem Objekt, welches im Programm auch ZustandKritisch ist. D.h. beide Objekte sind erzeugt von ZustandKritisch, haben aber eine unterschiedliche Referenz. Daher funktioniert assertEquals nicht. Wie kann ich zwei Objekte, die unterschiedliche Referenz haben, aber vom gleichen Typ sind, auf Gleichheit testen? Bisher habe ich:
|
||||||||||
19.12.2014, 09:48 | Auf diesen Beitrag antworten » | ||||||||||
Haevelin | Jetzt habe ich eine Lösung; die Gleichheit der Klasse wird geprüft mit: assertEquals(kritisch.getClass(),kw.zustand.getClass()); |
||||||||||
Anzeige | |||||||||||
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|