JUnit 스프링부트에서 사용하기

Ada·2022년 11월 23일
0

항해TOL

목록 보기
46/63

"spring-boot-starter-test" 디펜던시를 추가했다면
JUnit을 위한 추가 디펜던시는 필요하지 않다.

스프링부트 테스트 디펜던시

  • 스프링부트는 애플리케이션 테스트를 위한 많은 기능을 두 가지 모듈로 제공한다.

    1. spring-boot-test : 핵심 기능 포함
    2. spring-boot-test-configuration : 테스트를 위한 AutoConfiguration 제공
  • 이니셜 라이즈로 프로젝트를 생성 하였으면 이미 테스트를 위한 디펜던시가 추가 되어 있다.

    ("spring-boot-starter-test")

테스트 클래스 & 모듈 설정

JUnit 테스트는 테스트 대상 클래스와 테스트 클래스는 같은 패키지 내에 있어야 한다.

File > Project Structure > Module 에서 test > java 폴더 선택 후
Mark as에서 'Tests' 를 선택 후 적용해야 한다.

Test Source Folders 로 잘 지정 되면 초록색 폴더로 바뀌어야 한다.

테스트 클래스 생성

기존 클래스에 커서를 두고 Alt + Enter 를 누르고 Create Test 를 클릭한다.

Test 할 라이브러리를 선택한다. 나는 JUnit5 를 선택하고 getId 메서드를 작성시켰다.

테스트 클래스 작성

아래와 같이 정상 동작을 확인 할 수 있는 간단한 테스트 코드를 작성하였다.

1) 테스트 클래스는 반드시 public으로 선언해야 한다.
2) 클래스명은 관례상 테스트클래스명 + Test로 끝나는 이름을 사용 한다.
3) @Test 어노테이션을 선언한 메서드는 JUnit이 알아서 실행 할 수 있게 한다.

테스트 코드 실행

테스트를 원하는 메서드를 실행한다.

"Test passed" 정상 처리 되었음을 알 수 있다.

메서드설명
assertEquals(a, b);객체 A와 B의 실제 값이 일치한지 확인한다. assertEquals 메서드는 두 객체의 값의 비교
assertSame(a, b);객체 A와 B가 같은 객체임을 확인한다. assertSame 메서드는 두 객체가 동일한지 객체의 비교 (== 연산자와 같다)
assertTrue(a);조건 A가 참인가를 확인한다.
assertNotNull(a);객체 A가 null이 아님을 확인한다.
profile
백엔드 프로그래머

0개의 댓글