단위 테스트 (Unit Test)

: 내가 작성한 하나의 기능을 독립적으로 테스트할 수 있는 것.

JUnit 라이브러리 추가

JUnit은 단위 테스트를 할 수 있게 해주는 테스트 프레임워크로 @Test를 사용하려면 JUnit 라이브러리를 추가해야 한다.

start.spring.io에서 생성하면 기본적으로 JUnit 라이브러리가 제공되지만 없는 경우, 아래와 같이 해당 라이브러리를 추가하면 된다.

Gradle Project인 경우

dependencies {
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Maven Project인 경우

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

테스트 클래스 생성

  • 테스트 클래스는 src/test/java 하위에 생성해야한다.
  • ctrl+shift+T -> Create New Test 클릭 시, 자동으로 해당 테스트 클래스를 생성해준다.

@Test

JUnit 라이브러리에서 제공되는 어노테이션으로, 테스트 클래스 내 메소드 위에 선언하여 사용할 수 있다.
(단, @Testmain package가 아닌 test package내에서 사용가능하다.)


save()가 잘 동작하는지 @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();
        assertThat(member).isEqualTo(result);
    }
    
 }

참고로 MemoryMemberRepositoryMembermain package에 선언되어 있는 클래스이다.
-> main package에 존재하는 클래스들을 이용하여 단위 테스트 할 수 있다.


참고

김영한, 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

profile
BackEnd/Android

0개의 댓글