Java NullPointerException?
Hallo zusammen,
ich bin gerade dabei mir Java beizubringen und bekomme bei meinem aktuell Projekt bei der JUnit abfrage eine Fehlermeldung die wie folgt lautet:
java.lang.NullPointerException: Cannot invoke "de.hs_lu.o2s.v2.cardgames.Spielkarte.toString()" because "this.myCard" is null
at de.hs_lu.o2s.v2.cardgames.TestSpielkarte.testToString(TestSpielkarte.java:16)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
So ich weiß das die Ursache hierfür ein leeres Objekt ist. Nur finde ich das einfach nicht.
Einmal mein JUnit Test:
und hier meine Klasse in der ich die Objekte erzeuge und initialisiere:
2 Antworten
Achte bitte mal darauf, welche JUnit-Version du verwendest.
Wenn ich mich richtig erinnere, dann war es vor JUnit 4 so, dass die setUp-Methode wirklich setUp() heißen muss um erkannt und ausgeführt zu werden. Das heißt "setUP" wäre falsch.
Seit JUnit 4 ist es nicht mehr so wichtig, wie die Methode heißt.
Aber man sollte eine @Before Annotation über die Methode schreiben. Also so:
@Before
public void setUp() {
...
}
Aber man sollte, wenn möglich die Methode trotzdem noch setUp nennen, damit auch jeder weiß was gemeint ist.
Ich bin ziemlich sicher, dass die Methode setUP nicht aufgerufen wird, denn die Methode der Klasse TestCase heißt setUp.