특정한 역할을 가진 메타데이터를 코드에 부여하는 방식
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();
}
}
ProfileTest
인스턴스를 만들고 profile
, question
, criteria
필드는 초기화 되지 않았음.@BeforeEach
어노테이션을 찾아 그 아래의 메서드를 호출하여 profile
,question
,criteria
필드를 적절한 인스턴스로 초기화한다.ProfileTest
인스턴스를 새롭게 생성한다.@BeforeEach
메서드를 호출하여 필드를 초기화하고, 테스트를 다시 실행한다.org.junit.jupiter.api.BeforeAll
@BeforeAll
어노테이션 :: 테스트 클래스 내에 있는 모든 테스트 메서드가 실행되기 전에 해당 테스트 클래스에 대해 딱 한 번 실행된다. 주로 테스트 클래스에 대해 초기화 또는 설정 작업을 수행하는 데 사용.
테스트에 넣을 수 있는 정적 메서드 호출. 테스트에서 광범위하게 사용되기 때문에 static
org.junit.jupiter.api.Assertions.fail()
수동으로 테스트 실패를 표시하기 위해 사용. 이러한stub
실패 문을 작성해놓고 나중에 실제 테스트로 변경한다.
org.junit.jupiter.api.Assertions.assertTrue
**