# Junit - assertEquals



## Razen (28. Jan 2010)

Hallo, 
ich bin gerade dabei mir junit zu gemüte zu führen und ich versteh assertEquals nicht ganz - was genau kann man damit testen?

So wie ich verstanden habe prüft der bei einfachen Datentypen ob alle elemente den gleichen typ haben, also ob alle boolean oder double sind...
Bei Referenzdatentypen testet er ob die Objekte auf den selben Speicherplatz verweisen (und somit den selben Inhalt haben) - oder täusche ich mich da?

Bin mir echt unsicher weil das zweite ja auch die Funktion von assertSame wäre wenn ich nicht irre,....

Brauche da mal Richtigstellung und Hilfe - vielen Dank im Vorraus


----------



## SlaterB (28. Jan 2010)

Google
->
assertEquals v/s assertSame method (Testing forum at JavaRanch)

es gibt ==-Vergleich und equals()-Vergleich,
was nun was ist möchte ich als letzte Miniinfo nicht verraten


----------



## Razen (28. Jan 2010)

Also, dann sollte es so sein: 
same: gleiche referenz bei referenzdatentypen, gleicher inhalt bei einfachen typen
equals (entspricht ==): gleicher inhalt bei referenz- und einfachen datentypen

aber dann hätte ich ne frage: 

String s1 = "blabla";
String s1 = "blabla";
Assert.assertEquals(s1, s2);
int[] feld1 = { 1, 2 , 3 };
int[] feld2 = { 1, 2 , 3 };
Assert.assertEquals(feld1, feld2);

der zweite test schlägt fehl - hab ich aus Beispielunterlagen - warum?


----------



## SlaterB (28. Jan 2010)

es gibt assertEquals und assertSame, sowie zur Auswahl equals() und ==,
zwei Möglichkeiten was zu was gehört


du bist also zu dem Schluss gekommen, dass assertEquals mit == zusammenhängt, obwohl assertEquals und equals() sprachlich so toll zusammenpassen würden?
das ist ja nicht so ganz richtig

-------

zwei verschiedene int-Arrays sind immer nicht ==, logisch das gilt für alle verschiedenen Objekte der Welt,
und auch nicht equals(), von selber passiert da gar nix,
es gibt keine vorgegebene equals-Implementierung


----------



## Razen (28. Jan 2010)

aha, etz weiß ich wo der haken war - mir war nich so ganz klar dass equals() was eigenes ist - so lang hab ich java noch nich und das kam mir noch nicht unter...

etz hab ich das verstanden was ich wissen muss, danke


----------

