공부이야기/[Spring.210428~]

[스프링 입문] 회원 리포지토리 테스트 케이스 작성

Nameless 2021. 4. 30. 18:11

 

 

 

 

 

 

 

 

@Test는 서로 의존관계 없이 설계가 되어야함.

하나의 Test 가 끝날 때마다 저장소나 공용데이터들을 깔끔하게 지워야 문제가 발생하지 않는다.

Test 관련해서 깊이있게 공부하기!

 

 

1
2
3
4
5
6
7
8
9
10
11
12
class MemoryMemberRepositoryTest {
    MemoryMemberRepository repository = new MemoryMemberRepository();
 
    //Test 끝날떄마다 repository 지워주는 코드
    @AfterEach
    public void afterEach(){
        repository.clearStore();
    }
 
    ...
 
}
cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
public class MemoryMemberRepository implements MemberRepository{
 
    private static Map<Long, Member> store = new HashMap<>();
    private  static long sequence = 0L;
 
       ...
 
    @Override
    public List<Member> findByAll() {
        return new ArrayList<>(store.values());
    }
 
 
    public void clearStore(){
        store.clear();
    }
}
cs

 

 

+ TDD (테스트 주도 개발)

: 검증할 수 있는 틀을 먼저 만든 후 작품이 완성함.