인프런 커뮤니티 질문&답변
MemberService 테스트시 `@Transaction`을 붙였을 때와 안 붙였을 때 차이
작성
·
127
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 강의를 보면서 궁금한게 생겼는데 해결되지 않아 질문드립니다.
```java
@Test
public void 회원가입() throws Exception {
//given
Member member = new Member();
member.setName("kim");
//when
Long saveId = memberService.join(member);
//then
// em.flush();
assertThat(memberRepository.findOne(saveId)).isEqualTo(member);
}
```
해당 코드 실행시 `@Transaction`애너테이션이 붙어 있을 경우는 테스트가 정상적으로 통과되지만 `@Transaction` 애너테이션이 붙어 있지 않을 경우 서로 다른 객체라고 테스트가 실패하게 됩니다.
org.opentest4j.AssertionFailedError: expected: jpabook.jpashop.domain.Member@21dd91da but was: jpabook.jpashop.domain.Member@7657d29f Expected :jpabook.jpashop.domain.Member@21dd91da Actual :jpabook.jpashop.domain.Member@7657d29f
왜 인지 명확하게 모르겠습니다.




