본문 바로가기

WEB/Spring

스프링으로 테스트 케이스 만들기

start.spring.io 가서 파일 만들고 IDE에서 열면

src 하위 폴더에 test가 있을 것!

 

테스트하려는 클래스명+Test로 똑같이 만들어 주면 된다

 

실행 예시

 

Member

package hello.hellospring.domain;

public class Member {
    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

 

 

MemoryMemberRepository

package hello.hellospring.repository;

import hello.hellospring.domain.Member;

import java.util.*;

public class MemoryMemberRepository implements MemberRepository{

    private static Map<Long,Member> store=new HashMap<>();
    private static long sequence=0L;

    @Override
    public Member save(Member member) {
        member.setId(++sequence);
        store.put(member.getId(),member);
        return member;
    }

    @Override
    public Optional<Member> findById(Long id) {
        return Optional.ofNullable(store.get(id));
    }

    @Override
    public Optional<Member> findByName(String name) {

        return store.values().stream()
                .filter(member -> member.getName().equals(name))
                .findAny();
    }

    @Override
    public List<Member> findAll() {
        return new ArrayList<>(store.values());
    }
}

 

MemoryMemberRepositoryTest

 

package hello.hellospring.repository;

import hello.hellospring.domain.Member;
import org.junit.jupiter.api.Test;

public class MemoryMemberRepositoryTest {

    MemoryMemberRepository 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(member==result);

    }
}

 

실행결과

 

그러나 매번 실행창을 들여다 볼 수 없으니

코드의 System.out.println 문 보다

Assertions.assertThat(member).isEqualTo(result);

 

이렇게 바꿔주면 편리하다 

'WEB > Spring' 카테고리의 다른 글

JPA로 DB(h2) 사용하기  (0) 2023.12.13
스프링 빈 등록 방법 2가지  (0) 2023.12.09
@AfterEach - 테스트 케이스 클리어 하는 법  (1) 2023.12.07
웹 개발  (1) 2023.12.04
스프링 빌드하고 실행하기(윈도우)  (1) 2023.12.03