Was wird hier genau getestet?

Es wird geprüft, ob die Methode hasPrivateAttribute bei den gegebenen Parametern true zurück liefert.


Mehr können wir nicht sagen, da wir den Code nicht kennen.
 
Mich würde doch einmal interessieren, was Du meinst, was wir aus der einen Zeile ableiten können?

Und auch eine Information wie "Es gibt übrigens einen Error" besagt absolut nichts aus. Das kann alles sein und nichts!



Aber ok, ich schaue einmal in die Glaskugel!

Ahh ja ...

Ganz klar: Schau dir einmal Zeile 27 deines Codes an! Was fällt Dir da auf? Da musst Du dringend etwas verbessern!
 
Darum geht's:
Java:
private Canon canons = new Canon();
Wohl kaum. Hier erzeugst du ein neues Element, der gepostete Code stammt aus einem Unit-Test, der prüfen soll, ob ein privates Feld namens "canons" vorhanden ist.

Hier ging's um was Ähnliches

Es gibt übrigens einen Error also denke ich das false zurückgegeben wird.
"Ein" Error ist absolut nichtssagend, ziehe daraus keine Schlüsse. Da stehen immer zumiondest der Klassenname des Fehlers und im Normalfall auch eine Begründung dabei.
Falls "false" zurückgegeben wurde, kriegst du einen AssertionError. Handelt es sich denn um einen solchen?
 
Es gibt einen Assertion Error.
Mich würde doch einmal interessieren, was Du meinst, was wir aus der einen Zeile ableiten können?
Aus den anderen Zeilen des Unit Test konnte ich gut ableiten, was ich ändern muss damit es klappt, bei dieser Zeile nicht, hab gehofft, dass das jemand mit mehr Ahnung ableiten kann.
Falls "false" zurückgegeben wurde, kriegst du einen AssertionError. Handelt es sich denn um einen solchen?
Ja

Es geht prinzipiell darum, das die Klasse Canon im Sinne einer Komposition in der Klasse PirateShip irgendwie als Attribut erfasst werden soll.
 
Es geht prinzipiell darum, das die Klasse Canon im Sinne einer Komposition in der Klasse PirateShip irgendwie als Attribut erfasst werden soll.
Ja, sofern der Name der Methode hasPrivateAttribute() nicht völlig absurd ist, wird es in diese Richtung gehen. Sie soll vermutlich prüfen, ob es ein privates Attribut gibt. Und mehr lässt sich dazu auch nicht sagen.

Aus den anderen Zeilen des Unit Test konnte ich gut ableiten, was ich ändern muss damit es klappt
Ich würde sagen, das du der Klasse PirateShip ein privates Attribut mit dem Namen "canons" vom Typ Canon geben sollst.

Aber das ist nur eine Vermutung.
 
Zuletzt bearbeitet:
Ich kann mir durchaus vorstellen, dass die Methode selbst daneben geht, abhängig von der Java-Version und danach, worauf sie aufbaut (Reflection etwa).
Teste sie mal mit einem Feld, das sicher existiert.
 

Zurück
Oben