반응형
이 글은 인프런의 김영한 강사님의 스프링 입문- 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술의 강의 내용을 바탕으로 작성되었습니다.
DB와 연결된 코드를 테스트 하기 위해 test -> service -> MemerServiceIntegrationTest라는 클래스를 만들어 준다.
package hello.hellospring.service;
import hello.hellospring.domain.Member;
import hello.hellospring.repository.MemberRepository;
import hello.hellospring.repository.MemoryMemberRepository;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertThrows;
@SpringBootTest
@Transactional //테스트가 끝난 이후에 롤백 시켜줌
class MemerServiceIntegrationTest {
@Autowired
MemberService memberService;
@Autowired
MemberRepository memberRepository;
@Test
void join() {
//given
Member member = new Member();
member.setName("spring");
//when
Long saveId = memberService.join(member);
//then
Member findMember = memberService.findOne(saveId).get();
assertThat(member.getName()).isEqualTo(findMember.getName());
}
@Test
public void 중복회원예외(){
//given
Member member1 = new Member();
member1.setName("spring");
Member member2 = new Member();
member2.setName("spring");
//when
memberService.join(member1);
IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));
assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원 입니다");
}
}
해당 코드를 기입한 다음에 테스트를 진행 하면됨
반응형
'spring > spring 기초' 카테고리의 다른 글
[spring] 스프링 입문 - > JPA (1) | 2023.10.31 |
---|---|
[spring] 스프링 입문 -> JDBC Template (1) | 2023.10.31 |
[spring] 스프링 입문 - >순수 JDBC (0) | 2023.10.26 |
[spring] 스프링 입문 - >H2 데이터베이스 설치 (0) | 2023.10.24 |
[spring] 스프링 입문 - > 회원 웹 기능 - 조회 (0) | 2023.10.19 |