테스트코드_발자국3

테스트코드_발자국3


🙂 강의 내용

@Transactional(readOnly = true)

  • readOnly = true로 설정을 한다는 것을 읽기 전용이라는 뜻

  • CRUD에서 CUD는 동작하지 않음. R만 작동함

  • JPA에서 CUD 스냅샷 저장, 변경을 감지하지 않아 성능이 향상됨

  • readOnly = true로 걸어 놓고 CUD 하는 부분에는 따로 트랙잭션 어노테이션을 달아놓을 것을 추천

 

@SpringBootTest

  • full application config를 로드해서 통합 테스트를 진행하기 위한 어노테이션

  • 테스트할 때마다 DB가 롤백 되지 않음

  • DataSource bean을 그대로 사용하기 때문에 in-memory, 로컬, 외부 상관없이 DB 사용해 테스트가 실행됨

 

@DataJpaTest

  • 오직 JPA 컴포넌트만을 테스트하기 위한 어노테이션

  • @Transactional 어노테이션을 포함해 자동으로 롤백이 됨

  • 설정해놓은 DB가 아닌 in-memory DB를 활용해서 테스트가 실행됨

     

 

🙂 Day 11 미션 회고

어떤 기능들을 우선순위로 두어 테스트를 작성해야 할 지 처음에 막막했다.

코드를 읽어보면서 제일 작은 단위의 기능 또는 단순히 반환만 해주는 코드도 테스트를 작성해야 하는건지 고민을 많이 했다.

미션 이후 강의를 들으면서 아주 사소한 것이라도 별 것 아닌 기능들에도 모두 코드를 작성해야 한다는 것을 알게되었다.

댓글을 작성해보세요.


채널톡 아이콘