
테스트코드_발자국3
21일 전
🙂 강의 내용
@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 미션 회고
어떤 기능들을 우선순위로 두어 테스트를 작성해야 할 지 처음에 막막했다.
코드를 읽어보면서 제일 작은 단위의 기능 또는 단순히 반환만 해주는 코드도 테스트를 작성해야 하는건지 고민을 많이 했다.
미션 이후 강의를 들으면서 아주 사소한 것이라도 별 것 아닌 기능들에도 모두 코드를 작성해야 한다는 것을 알게되었다.
댓글을 작성해보세요.