Według dokumentacjiDlaczego assertEquals i assertSame w jednostce junit zwracają ten sam wynik dla dwóch wystąpień tej samej klasy?
assertEquals() twierdzi, że dwa obiekty są równe.
assertSame() Zapewnia, że dwa obiekty odnoszą się do tego samego obiektu.
Więc ja oczekuję, że jeśli mam klasy jak poniżej
class SomeClass {}
następnie
SomeClass someClass1= new SomeClass();
SomeClass someClass2= new SomeClass();
assertSame(someClass1,someClass2); // fail
assertEquals(someClass1,someClass2); // fail
się assertEquals przejść i assertSame niepowodzeniem. ponieważ wartość obu klas jest równa, ale mają one inną lokalizację odniesienia.
Ponieważ w obu przypadkach otrzymuję błąd, moje pytanie brzmi: jaka jest różnica między tymi dwoma?