보고 배운 블로그 : donghyeon.dev
메서드가 테스트 메서드임을 나타내는 어노테이션.
이 어노테이션이 붙은 메서드는 테스트 실행 시 호출된다.
테스트 클래스나, 테스트 메서드에 별칭을 붙여줄 때 사용한다.
이 어노테이션을 안붙이면 ??
아래와 같이 클래스 이름이 나타나게 된다.
테스트 클래스에 이 어노테이션을 붙이면 ,
테스트 보고서에 표시될 테스트 메서드 이름 / 클래스 이름을 변경할 수 있다.
DisplayNameGenerator
인터페이스를 구현한 클래스를 인자로 전달해야 한다.
Simple: 기본값으로, 테스트 메서드 이름을 그대로 사용한다.
ReplaceUnderscores: 테스트 메서드 이름에서 밑줄(_)을 공백으로 바꿔준다.
IndicativeSentences: 테스트 클래스와 메서드 이름을 사용하여 완전한 문장을 형성한다.
또는 DisplayNameGenerator
인터페이스를 구현한 클래스를 작성하여,
사용자 정의 규칙을 생성하여 사용 할 수도 있다.
각 테스트 메서드가 실행되기 전에 호출되는 메서드에 이 어노테이션을 사용한다.
일반적으로 테스트에 필요한 준비 작업을 수행하는 데 사용!
테스트 클래스의 모든 테스트 메서드가 실행되기 전에 한 번만 호출되는 메서드에 이 어노테이션을 사용한다.
이 메서드는 static
이어야만 한다.
각 테스트 메서드가 실행된 후에 호출되는 메서드에 이 어노테이션을 사용한다.
테스트 후 정리 작업을 수행하는 데 사용.
테스트 클래스의 모든 테스트 메서드가 실행된 후에 한 번만 호출되는 메서드에 이 사용.
이 메서드는 static
이어야만 한다.
테스트 메서드나 테스트 클래스를 비활성화하는 데 사용되는 어노테이션.
이 어노테이션이 붙은 테스트는 실행되지 않는다.
중첩된 테스트 클래스를 나타내는 데 사용되는 어노테이션.
이 어노테이션을 사용하면 관련된 테스트를 그룹화하여 더 명확한 구조를 만들 수 있다.
테스트 메서드나 클래스에 태그를 붙이는 데 사용되는 어노테이션이다.
태그를 사용하면 특정 테스트 그룹을 선택하여 실행할 수 있다.
@Tag("includeTag")
public class TagTest {
@Test
void aTest() {
System.out.println("a include ==========================");
}
@Test
void bTest() {
System.out.println("b include ==========================");
}
}
@Tag("notInclude")
class TacTest {
@Test
void aTest() {
System.out.println("not include a ==========================");
}
@Test
void bTest() {
System.out.println("not include b ==========================");
}
}
// build.gradle.kts 설정
tasks.test {
useJUnitPlatform {
includeTags("includeTag")
excludeTags("notIncludeTag")
}
}
실행 결과
테스트 클래스나 메서드에 확장을 적용하는 데 사용되는 어노테이션.
JUnit 5의 확장 모델에서는 @ExtendWith를 사용하여
테스트 인스턴스의 수명 주기, 테스트 조건, 매개 변수 주입 등을 제어할 수 있다.
매개 변수화된 테스트를 작성할 때 사용되는 어노테이션이다.
이 어노테이션을 사용하면 여러 입력 값에 대해 동일한 테스트 로직을 반복 실행할 수 있다.
매개 변수화된 테스트에 사용되는 인자를 제공하는 어노테이션.
이 어노테이션들은 @ParameterizedTest와 함께 사용
된다.
테스트 클래스 인스턴스의 수명 주기를 제어하는 데 사용되는 어노테이션.
기본값은 Lifecycle.PER_CLASS이며, 이 경우 테스트 클래스당 하나의 인스턴스가 생성된다. Lifecycle.PER_METHOD를 사용하면 각 테스트 메서드마다 새로운 인스턴스가 생성!
동적 테스트를 생성하는 메서드를 나타내는 어노테이션.
이 어노테이션을 사용하면 런타임에 테스트 케이스를 생성하고 실행할 수 있다.
특정 테스트를 여러 번 반복 실행하는 데 사용되는 어노테이션.
이 어노테이션에 반복 횟수를 지정하여 테스트를 원하는 만큼 반복할 수 있다.