[JUnit] JUnit의 명세 :: (1)

ggyu_55·2023년 7월 23일
0

메모

목록 보기
22/46
post-thumbnail

JUnit의 명세


Annotations

특정한 역할을 가진 메타데이터를 코드에 부여하는 방식

org.junit.jupiter.api.Test
@Test 어노테이션 :: JUnit 테스트임을 명시

org.junit.jupiter.api.BeforeEach
@BeforeEach 어노테이션 :: 각 JUnit 테스트를 실행할 때마다 표시된 메서드를 먼저 실행한다. 테스트 간에 중복된 초기화 로직을 가지고 있을 때 사용함. 테스트 메서드의 실행 전에 매번 새로운 인스턴스를 생성하므로, 각 테스트 메서드에 대해 독립적인 상태가 보장된다.

class ProfileTest {
    private Profile profile;
    private BooleanQuestion question;
    private Criteria criteria;

    @BeforeEach
    public void create() {
        profile = new Profile("Sex machine, Ac.");
        question = new BooleanQuestion(1, "Got bonuses?");
        criteria = new Criteria();
    	}
    }

작동 순서는 다음과 같다.

  1. JUnit은 새로운 ProfileTest 인스턴스를 만들고 profile, question, criteria 필드는 초기화 되지 않았음.
  2. JUnit이 @BeforeEach 어노테이션을 찾아 그 아래의 메서드를 호출하여 profile,question,criteria 필드를 적절한 인스턴스로 초기화한다.
  3. 특정 테스트 메서드를 실행하고 결과를 반환한다.
  4. 다른 테스트가 있으면 JUnit은 ProfileTest 인스턴스를 새롭게 생성한다.
  5. 새로운 인스턴스에 대해 @BeforeEach 메서드를 호출하여 필드를 초기화하고, 테스트를 다시 실행한다.

org.junit.jupiter.api.BeforeAll
@BeforeAll 어노테이션 :: 테스트 클래스 내에 있는 모든 테스트 메서드가 실행되기 전에 해당 테스트 클래스에 대해 딱 한 번 실행된다. 주로 테스트 클래스에 대해 초기화 또는 설정 작업을 수행하는 데 사용.


Assertions (단언)

테스트에 넣을 수 있는 정적 메서드 호출. 테스트에서 광범위하게 사용되기 때문에 static

org.junit.jupiter.api.Assertions.fail()
수동으로 테스트 실패를 표시하기 위해 사용. 이러한 stub 실패 문을 작성해놓고 나중에 실제 테스트로 변경한다.

org.junit.jupiter.api.Assertions.assertTrue

**


참고 :: 자바와 JUnit을 활용한 실용주의 단위 테스트

0개의 댓글