assertThat 메소드는 테스트 코드에서 값을 검증하기 위해 사용되는 AssertJ 라이브러리의 메소드 중 하나이다. assertThat 메소드는 여러 가지 메소드 체이닝을 통해 다양한 검증 메소드를 제공한다. 이 중에서 isEqualTo과 isSameAs 메소드는 두 가지 다른 목적으로 사용된다.
isEqualTo 메소드는 값의 내용이 같은지를 확인한다. 즉, 객체의 equals 메소드를 기반으로 비교한다.
예를 들어, assertThat(actual).isEqualTo(expected)
는 actual.equals(expected)
가 참인지를 검증한다.
isSameAs 메소드는 참조가 동일한지를 확인한다. 즉, 두 객체가 메모리 상에서 동일한 객체인지를 검증한다.
예를 들어, assertThat(actual).isSameAs(expected)
는 actual == expected
가 참인지를 검증한다.
isEqualTo은 객체의 내용이 같은지를 확인하고, isSameAs는 두 객체가 동일한 객체인지를 확인한다. 선택은 사용하고자 하는 검증의 목적과 상황에 따라 달라진다. 일반적으로 객체의 내용을 비교하고자 할 때는 isEqualTo을 사용하며, 객체의 참조 동일성을 검증하고자 할 때는 isSameAs를 사용한다.