JUnit 테스트 어노테이션을 알아보자!

Karim·2023년 1월 28일
4

study

목록 보기
6/7

1. JUnit 이란

  • JUnit 플랫폼 은 JVM에서 테스트 프레임워크를 시작하기 위한 기반 역할을 합니다.
  • JUnit 5는 런타임 시 Java 8(또는 그 이상)이 필요합니다. 그러나 이전 버전의 JDK로 컴파일된 코드를 계속 테스트할 수 있습니다.
  • 단위 테스트(Unit Test)는 프로그램의 기본 단위인 모듈(Module)을 테스트하는 것이다.
  • 구현 단계에서 각 모듈의 개발을 완료한 후 명세서의 내용대로 정확히 구현되었는지를 테스트하는 것이다.
  • 단위 테스트 후 실제 코드 적용은 TDD 방식

2. JUnit Annotations

📝 Junit Annotations

💬 설명 외에 많은 어노테이션 설명 링크

AnnotationsDescription
@Test- @Test가 선언된 메소드는 테스트를 수행하는 메소드가 된다.
- 각각의 테스트가 서로 영향주지 않고 독립적으로 실행되는 것을 원칙으로 합니다.
@Disabled- @Disabled 선언된 메소드는 테스트를 실행하지 않게 합니다. ( 전체 class 테스트 일 시 )
@BeforeEach- @BeforeEach 선언된 메소드를 @Test 메소드가 실행될 때마다 그 전에 반드시 실행되어 집니다.
- @Test 메소드 실행전 공통으로 사용되는 코드를 선업합니다.
@AfterEach- @AfterEach 선언된 메소드를 @Test 메소드가 실행될 때마다 그 후에 반드시 실행되어 집니다.
- 테스트 시 사용한 자원을 해제할 때 주로 사용합니다.
@BeforeAll- @BeforeAll @Test 메소드 보다 먼저 한번만 수행되어야 할 경우에 사용합니다. (static)
@AfterAll- @AfterAll @Test 메소드 수행 후 한번만 수행되어야 할 경우에 사용합니다. (static)

Junit Annotations 순서도

3. JUnit 간단 실습

✒️ gradle 설정

test {
    useJUnitPlatform()
}

✒️ src/test/java 경로

import org.junit.jupiter.api.*;

class VelogTest {

    @BeforeAll
    static void BeforeAll(){
        System.out.println( "BeforeAll method" );
    }

    @AfterAll
    static void AfterAll(){
        System.out.println( "AfterAll method" );
    }

    @BeforeEach
    public void BeforeEach(){
        System.out.println( "BeforeEach method" );
    }

    @AfterEach
    public void AfterEach(){
        System.out.println( "AfterEach method" );
    }

    @Test
    public void Test0(){
        System.out.println( "Test0 method" );
    }

    @Test
    public void Test1(){
        System.out.println( "Test1 method" );
    }

    @Test
    public void Test2(){
        System.out.println( "Test2 method" );
    }
}

💻 실행 화면

위 설명대로 테스트 순서가 이루어 지는것을 확인할 수 있다.


📌 여담

  • JUnit 습관화 해야겠다!! 젠킨스 적용도 바로 써봐야지

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글