JUnit5
자바 개발자가 가장 많이 사용하는 테스팅 프레임워크로 자바 8이상을 필요로 한다.
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공.
Jupiter: TestEngine API 구현체로 JUnit 5를 제공.
Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.
스프링부트2.2버전 이상을 사용한다면 기본적으로 JUnit5가 추가된다.
스프링부트를 사용하지 않고 직접 추가할때는 다음과 같다.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.2</version>
<scope>test</scope>
</dependency>
- @TestFactory – 동적 테스트를위한 테스트 팩토리 인 메소드를 나타냅니다.
- @DisplayName – 테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름을 정의합니다.
- @Nested – 주석이 달린 클래스가 중첩 된 비 정적 테스트 클래스임을 나타냅니다.
- @Tag – 테스트 필터링을위한 태그 선언
- @ExtendWith – 사용자 지정 확장을 등록하는 데 사용됩니다.
- @BeforeEach – 주석이 달린 메소드가 각 테스트 메소드 이전에 실행됨을 나타냅니다 (이전 @Before ).(여러번 비포)
- @AfterEach – 각 테스트 메서드 (이전에는 @After ) 후에 주석이 추가 된 메서드가 실행됨을 나타냅니다.
- @BeforeAll – 주석이 추가 된 메서드가 현재 클래스의 모든 테스트 메서드보다 먼저 실행됨을 나타냅니다 (이전 @BeforeClass ).(한번 통합전으로 전)
- @AfterAll – 현재 클래스 (이전의 @AfterClass )의 모든 테스트 메서드 후에 주석이 추가 된 메서드가 실행됨을 나타냅니다.
- @Disable – 테스트 클래스 또는 메서드를 비활성화하는 데 사용됩니다 (이전에는 @Ignore ).