일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 백내장 다초점렌즈 삽입술
- 금융감독원
- 코드 스테이츠 백엔드 교육과정
- codestates 국비지원 1기 합격 후기
- 해시
- 메서드
- 자바
- 코드스테이츠 합격
- 백준 알고리즘
- 코테 합격후기
- 백내장
- 보험금 지급거절
- 금감원
- CodeState 후기
- 금감원 백내장 민원
- Spring
- 코드스테이츠 합격 후기
- Gamsgo
- Code States 백엔드 합격 후기
- 금융감독원 민원신청
- 에이치엘비
- 코드스테이츠 부트캠프
- 코드스테이츠 백엔드 후기
- 코드스테이츠 백엔드 교육과정
- 코드스테이츠 백엔드 부트캠프 합격
- 코드스테이츠 부트캠프 합격 후기
- Java
- 백내장 금감원
- 겜스고
- HLB
Archives
- Today
- Total
개발하는 동그리
[Test] Slice Test (Data Access 계층) 본문
반응형
Data Access 계층 테스트 기본 구조
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import static org.junit.jupiter.api.Assertions.*;
@DataJpaTest // (1) MemberRepository 기능을 정상적으로 사용하기 위한 Configuration 등록
// Transactional 애너테이션을 포함 따라서 1개 테스트가 종료되면 저장된 데이터는 rollback 처리
// 각 테스트마다 초기화가 유지된다.
public class MemberRepositoryTest {
@Autowired
private MemberRepository memberRepository;
@Test
public void saveMemberTest() {
// given (2) 테스트용 회원 데이터
Member member = new Member();
member.setEmail("moodeary@gmail.com");
member.setName("춘식");
member.setPhone("010-7177-0677");
// when (3) 회원 저장
Member savedMember = memberRepository.save(member);
// then
assertNotNull(savedMember); // (4) 저장된 회원이 Null인지 검증
assertTrue(member.getEmail().equals(savedMember.getEmail()));
assertTrue(member.getName().equals(savedMember.getName()));
assertTrue(member.getPhone().equals(savedMember.getPhone()));
}
@Test
public void findByEmailTest() {
// given (1) 테스트용 회원 데이터
Member member = new Member();
member.setEmail("moodeary@gmail.com");
member.setName("춘식");
member.setPhone("010-7177-0677");
// when
memberRepository.save(member); // (2) 회원 저장
// (3) Email 주소를 통해 회원 조회
Optional<Member> findMember = memberRepository.findByEmail(member.getEmail());
// (4) 검증 (Assertion)
// then
// (4-1) 조회된 회원정보가 Null 인지 검증
assertTrue(findMember.isPresent());
// (4-2) 이메일 주소 일치 여부 검증
assertTrue(findMember.get().getEmail().equals(member.getEmail()));
}
}
반응형
'IT 정보 > Spring' 카테고리의 다른 글
@RestControllerAdvice & @ControllerAdvice (0) | 2024.12.12 |
---|---|
OSI 7계층 / CIA / RSA / RFC 규칙 / JWT (4) | 2022.08.29 |
[Test] Slice Test (API 계층) (2) | 2022.08.18 |
[Spring] application.yml 설정 (1) | 2022.08.18 |
[Spring] build.gradle 설정 (0) | 2022.08.18 |