Spring / 테스트 케이스 만들기

권나영·2021년 10월 26일

Spring 기초

목록 보기
5/14

test 쪽에다가 repository 패키지 만들어 줄 것.

안에 Test Class 만들어줄 것

package izero.hellospring.repository;

import izero.hellospring.domain.Member;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class MemoryMemberRepositoryTest {
    MemberRepository repository = new MemoryMemberRepository();

    @Test
    public void save(){
        Member member = new Member();
        member.setName("spring");

        repository.save(member);

        Member result = repository.findById(member.getId()).get();
        System.out.println("result = " + (result == member));
        Assertions.assertEquals(member, result);
    }
}

대충 위 같이 써 줬을 때,


save run 하면

이렇게만 뜨고

아무것도 안나오는데

얘를

Assertions.assertEquals(member, null); 같이 바꿔주면,

findByName도 test

    @Test
    public void findByName(){
        Member member1 = new Member();
        member1.setName("spring1");
        repository.save(member1);

        Member member2 = new Member();
        member2.setName("spring2");
        repository.save(member2);

        Member result = repository.findByName("spring1").get();

        Assertions.assertEquals(result,member1);
    }

findAll 도 Test

3개 만들어서 repository에 save 했으니까 3이랑 같아야

그래서 2로 바꾸는 순간

바로 에러

그렇다면, 이런 테스트 케이스들을 연속해서 돌릴 수 있는 방법은 없을까?

1. 원래 자바 클래스에 store 비우는 메서드 하나 만들어준다.

2. 이후, TEST 클래스에서 aftereach 데코레이터와 함께 비우는 메서드를 써준다.

profile
나영

0개의 댓글