스프링 부트에서는 편리하게 테스트시 유용하게 해주는 어노테이션이 존재한다.
@SpringBootTest
- 스프링 테스트 할 경우에는 부트에서는 이 어노테이션 하나로 해결할 수 있다!!
- 참 편리하다 >.<
@Transactional
- 디비의 트랜잭션과 같은 형태로 테스트 케이스에 붙게되면 각 테스트를 시행하기 전에 트랜잭션을 시작 수행이 끝나고나서 롤백(Rollback) 하는 작업을 수행해준다.
- 이렇게 하면 데이터베이스에 수행한 데이터가 남지 않으므로 다음 테스트시 영향을 주지 않는다.
- 즉, 테스트를 더 테스트답게 해주는 어노테이션이다.
- 이 어노테이션이 서비스(Service) 같은 곳에 붙게되면 롤백하지않고 수행한다!! 테스트 케이스 파일에 붙었을때만 자동으로 수행하고나서 롤백하는 처리를 진행한다는점 기억하자!!!
@SpringBootTest
@Transactional
/**
* @Transactional을 써주게되면
* 디비의 트랜잭션처럼 한번 쭉 돌려주고나서 마지막에 롤백을 해준다.
* 그렇기때문에 중복되서 데이터가 들어가는것을 막아준다.
*/
class MemberServiceIntegrationTest {
@Autowired MemberService memberService;
@Autowired MemberRepository memberRepository;
'Dev > Spring Boot' 카테고리의 다른 글
스프링부트 공통 설정 그놈 Logback (0) | 2021.04.07 |
---|---|
스프링 시큐리티 로그인 인증 그 후... (0) | 2020.12.02 |
스프링 시큐리티 적용 (CSRF) (0) | 2020.11.19 |
@Valid로 유효성 체크하기 (0) | 2020.11.15 |
스프링 빈 주입방법과 템플릿 우선순위 (3) | 2020.10.15 |