스프링 부트 프로젝트 (2.2 + 버전의 스프링 부트 프로젝트에 기본적으로 추가/
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.5.2</version> <scope>test</scope> </dependency>
기본 어노테이션 들
@Test
package me.ndy.teststudy; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class StudyTest { @Test void create(){ Study study = new Study(); assertNotNull(study); System.out.println("create"); } }
@Test
- 메소드에 붙여 테스트 메소드임을 표시한다. 아무 속성도 없음
@BeforeAll
/ @AfterAll
- 메소드에 붙여 해당 메소드가 현재클래스의 모든
@Test
,@RepeatedTest
,@ParameterizedTest
, and@TestFactory
메소드 이전/ 이후에 실행되야 함을 표시한다.
- “per-class” 전략을 사용하지 않는한 꼭
static
으로 선언 되어야한다.
@BeforeEach
/ @AfterEach
- 메소드에 붙여 해당 메소드가 현재클래스의 각
@Test
, @RepeatedTest
, @ParameterizedTest
, and @TestFactory
메소드 이전/ 이후에 실행되야 함을 표시한다.package me.ndy.teststudy; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; class StudyTest { @Test void test1(){ System.out.println("StudyTest.test1"); } @Test void test2(){ System.out.println("StudyTest.test2"); } @BeforeAll static void beforeAll(){ System.out.println("StudyTest.beforeAll"); } @AfterAll static void AfterAll(){ System.out.println("StudyTest.AfterAll"); } @BeforeEach void beforeEach(){ System.out.println("StudyTest.beforeEach"); } @AfterEach void afterEach(){ System.out.println("StudyTest.afterEach"); } }
StudyTest.beforeAll StudyTest.beforeEach StudyTest.tes2 StudyTest.afterEach StudyTest.beforeEach StudyTest.test1 StudyTest.afterEach StudyTest.AfterAll Process finished with exit code 0
@Disabled
- test class 혹은 test method에 붙여 테스트를 무시함