isSameAs 와 isEqualTo 차이
1003
작성한 질문수 47
안녕하십니까 테스트 코드 작성 중 궁금한 것이 생겨 질문드립니다.
1. memberService에서 member를 조회하셨는데, 예제여서 그런 것인지, 아니면 만약에 실제 DB를 사용하여 member를 조회한다면 memberService에서 실제로 조회를 하나요?? 저는 memberService가 회원가입을 하고 조회는 Repository에서 해야하는 것 아닐까? 라는 생각이 들었습니다,, 위의 코드가 잘못됐다가 아니라 정말 궁금해서 여쭤보고 싶습니다,,
2. isSameAs vs isEqualTo
isSameAs는 same reference, isEqualTo는 equal based on value라고 구글링을 해서 알게되었는데,
여기서 findMember는 객체인데 어떻게 isEqualTo를 해도 되는지 궁금합니다,,
답변 1
0
안녕하세요. gusdn85554님, 공식 서포터즈 OMG입니다.
1. memberService에서 member를 조회하셨는데, 예제여서 그런 것인지, 아니면 만약에 실제 DB를 사용하여 member를 조회한다면 memberService에서 실제로 조회를 하나요?? 저는 memberService가 회원가입을 하고 조회는 Repository에서 해야하는 것 아닐까? 라는 생각이 들었습니다,,
member조회는 memberRepository에서 실제DB는 아니지만 DB를 모방한 메모리DB에 조회를 하여 결과를 반환 받아서 사용하고 있습니다.
--
memberService.findMember(1L)의 코드를 분석하면, 1번 ID를 가진 member를 조회하는데, MemberService에서는 받아온 1번 ID를 Repository에 ID를 넘겨주고, Repository에서 ID 조회 후 결과(1번 ID를 가진 Member)를 반환한 것입니다.
--
2. isSameAs는 same reference, isEqualTo는 equal based on value라고 구글링을 해서 알게되었는데,
여기서 findMember는 객체인데 어떻게 isEqualTo를 해도 되는지 궁금합니다,,
아래의 링크 글을 보신것 같네요.
What is the difference between isSameAs() and isEqualTo() in FEST? - Stack Overflow
-
isEqualTo는 값을 비교하는 메서드이지만 객체를 비교하게 되는 경우 참조를 비교하게 됩니다.

* 참고Introduction to AssertJ | Baeldung
감사합니다.
0
String a = new String("aa");
String b = new String("aa");
assertThat(a).isEqualTo(b);String의 경우도 객체인데 왜 이 경우는 참조가 아닌 값을 비교하나요? (이 경우 테스트가 통과됩니다!)
코드 자료
0
28
2
구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?
0
51
2
MemberService의 인터페이스를 왜 사용하는지 궁금합니다.
0
75
1
롬복 @Setter를 써야 하는 상황이 있는건가요?
0
89
1
빈 등록 메서드의 파라미터가 빈이 아니어도 되나요?
0
81
1
테스트 속도가 나중에 영향이 있을까요?
0
77
1
gradle 설정 안떠서 질문 남깁니다!
0
121
2
build.gradle로 프로젝트를 여는 이유
0
85
1
provider 사용하는 이유
0
88
1
다음 강의 뭘 들어야 할까요
0
126
2
프로토타입 빈, 직접 destroy 호출 안 할 경우
0
64
1
beanB
0
82
2
퀴즈다시풀기
0
66
1
Gradle로 바꿔도 오류가 똑같이 발생하네요 ㅠㅠ
0
92
2
"중복 등록과 충돌" 강의에서 강사님과 다른 에러가 발생합니다.
0
66
3
run 실행했는데 결과창이 이렇게 뜨네요 왜 그런건가요>
0
106
2
도메인의 정의?
0
59
1
ApplicationContext 질문입니다.
0
62
1
@Scope의 proxyMode를 사용할때 단위 테스트 방법
0
88
2
ai api 선정하기 관련 질문
0
118
2
생성자 자동주입 관련해서
0
64
1
생성자 직접 호출 vs 팩토리 메서드 패턴
0
96
2
Spring에서 SessionScope와 RequestScope는 함께 사용되나요?
1
65
1
12:25
0
77
2





