테스트 케이스

정하윤·2023년 8월 2일
0
class MemoryMemberRepositoryTest {

    MemoryMemberRepository repository = new MemoryMemberRepository();

    @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();
        // Optional<Member> byId = repository.findById(member.getId());
        // System.out.println("result = " + (result == member)); 결과괎이 result == true로나옴
        assertEquals(member , result); // 결과값이 트루일때는 아무것도 나오지 않고 초록색 체크표시 아닐경우 에러나옴 대부분 이것을 씀

    }
        @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();
            assertEquals(result , 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();

        assertEquals(result.size(),2);
        }


}


    public void clearStore(){
        store.clear();
        // 한클래스에서 여러개를 테스트 할때 한 메서드가 테스트후 정보를 지우기위해 clearStore메서드 선언
    }

이런식으로 테스트 케이스를 작성하고 한번에 여러개를 테스트할경우 테스트는 위에서부터 순서대로 되는것이 아닌 무작위로 테스트를 하고 그전의 정보를 가지고 실행되므로 지우기위해 MemoryMemberRepository에도 위의 코드 작성

0개의 댓글