Spring 통합 테스트
2022. 12. 15. 00:21ㆍ스파르타 내일배움캠프/Spring 강의 정리
Spring을 사용하여 Test를 실행하는(DB 연동 포함) 방법이 있다.
@SpringBootTest
@Transactional
class MemberServiceIntegrationTest {
@Autowired MemberService memberService;
@Autowired MemberRepository memberRepository;
@Test
public void 회원가입() throws Exception {
//Given
Member member = new Member();
member.setName("hello");
//When
Long saveId = memberService.join(member);
//Then
Member findMember = memberRepository.findById(saveId).get();
assertEquals(member.getName(), findMember.getName());
}
}
이런 식으로 @SpringBootTest 어노테이션을 붙여주면 된다.
또한 테스트시에는 필드에 DI를 두어도 상관이 없다(필드를 중간에 수정하지 않을 것이므로)
※ @SpringBootTest : 스프링 컨테이너와 테스트를 함께 실행한다.
@Transactional : 테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않으므로 다음 테스트에 영향을 주지 않는다.
'스파르타 내일배움캠프 > Spring 강의 정리' 카테고리의 다른 글
Spring project (0) | 2022.12.16 |
---|---|
JPA & Spring Data JPA (0) | 2022.12.16 |
Spring MVC 기초 & JDBC Template (0) | 2022.12.13 |
Spring Bean (0) | 2022.12.12 |
memo 프로젝트 (0) | 2022.12.10 |