프로그래밍 끄적끄적
[SpringBoot] 스프링 입문 - 회원 관리 예제(테스트 케이스 작성-리포지토리 테스트) 본문
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
public class MemoryMemberRepositoryTest {
MemoryMemberRepository repository = new MemoryMemberRepository();
//@AfterEach: @Test 가 끝날 때마다 진행
@AfterEach
public void afterEach() {
repository.clearStore(); //테스트가 끝날 때마다 저장소를 지움
}
@Test
public void save() {
Member member = new Member();
member.setName("spring");
repository.save(member);
Member result = repository.findById(member.getId()).get(); //get을 통해 Optional에서 꺼내서 가져옴
//기능이 제대로 동적하는지 검증
System.out.println("result = " + (result == member )); //콘솔창을 통해 개발자가 직접 확인해야 함
//Assertions 를 통해 확인(동일하면 실행 성공, 동일하지 않으면 오류)
Assertions.assertEquals(member, result); //jupiter
Assertions.assertThat(member).isEqualTo(result); //assertj -좀 더 가독성이 좋음
}
@Test
public void findByName() {
Member member1 = new Member();
member1.setName("spring1");
repository.save(member1);
Member member2 = new Member(); //rename 단축키: shift + f6
member2.setName("spring2");
repository.save(member2);
Member result = repository.findByName("spring1").get();
assertThat(result).isEqualTo(member1);
}
@Test
public void findAll() {
Member member1 = new Member();
member1.setName("spring1");
repository.save(member1);
Member member2 = new Member();
member2.setName("spring2");
repository.save(member2);
List<Member> result = repository.findAll();
assertThat(result.size()).isEqualTo(2);
}
}
|
cs |
Line 5) @AfterEach
@Test에 적힌 테스트가 끝날 때마다 수행한다. 주로 메모리를 지우기 위해 사용된다.
Line 24) assertThat([확인할 값]).isEqualTo([기대하는 값]);
테스트 값이 기대하는 값과 일치하는지 확인하기 위해 쓰인다.
일치하면 오류 없이 다음으로 넘어가지만 일치하지 않으면 오류를 내기 때문에, 콘솔창에서 개발자가 일일이 확인하는 것보다 훨씬 효율적이다.
'백엔드 > 스프링' 카테고리의 다른 글
[SpringBoot] 스프링 입문 - 회원 관리 예제(서비스 테스트) (0) | 2021.07.28 |
---|---|
[SpringBoot] 스프링 입문 - 회원 관리 예제(서비스) (0) | 2021.07.28 |
[SpringBoot] 스프링 입문 - 회원 관리 예제(비즈니스 요구사항 정리, 도메인, 리포지토리) (0) | 2021.07.28 |
[SpringBoot] 스프링 입문 - 스프링 웹 개발 기초(정적 컨텐츠, MVC, 템플릿 엔진, API) (0) | 2021.07.25 |
[SpringBoot] 스프링 입문 - View 환경설정 (0) | 2021.07.23 |
Comments