Junit 이란?
- 자바 개발자가 가장 많이 사용하는 테스팅 프레임워크.
- 단위 테스트를 작성하는 자바 개발자 93% JUnit을 사용함.
- Platform: 테스트를 실행해주는 런처 제공. TestEngine API 제공.
- Jupiter: TestEngine API 구현체로 JUnit 5를 제공.
- Vintage: JUnit 4와 3을 지원하는 TestEngine 구현체.
Junit 5에서 제공하는 기본 애노테이션
@BeforeEach
public void beforeEach() {
System.out.println("BeforeEach");
}
@BeforeAll
static void beforeAll(){
System.out.println("BeforeAll");
}
@AfterEach
public void afterEach() {
System.out.println("AfterEach");
}
@AfterAll
static void afterAll() {
System.out.println("AfterAll");
}
@Test
public void test1() throws Exception{
System.out.println("test1");
}
@Test
public void test2() throws Exception{
System.out.println("test2");
}
- 위의 코드의 결과 값은 아래와 같다.
BeforeAll BeforeEach test1 AfterEach BeforeEach test2 AfterEach AfterAll
- @Test : 테스트를 한다는 의미
- @BeforeAll
- 각 테스트가 시작하기전에 한번씩 실행
- static을 붙여야 한다.
- @AfterAll
- 각 테스트가 끝난 후에 한번씩 실행
- static을 붙여야 한다.
- @BeforeEach
- 각 테스트가 시작하기 전에 실행
- 공통적인 Param 및 설정을 할때 호출되면 좋다.
- @AfterEach
- 각 테스트가 끝난 후에 실행
- 사용되고 난 후 종료되어야할 리소스를 처리하는 부분으로 사용되면 좋다.
- @Disabled
- 테스트를 실행하지 않음
- @DisplayNameGeneration
- Method와 Class 레퍼런스를 사용해서 테스트 이름을 표기하는 방법 설정.
- 기본 구현체로 ReplaceUnderscores 제공 -> 언더바를 공백으로 바꿔줌
- @DisplayName
- 어떤 테스트인지 테스트 이름을 보다 쉽게 표현할 수 있는 방법을 제공하는 애노테이션.
- @DisplayNameGeneration 보다 우선 순위가 높다.
REFERENCES
- 백기선님의 더 자바, 애플리케이션을 테스트하는 다양한 방법
- https://bepoz-study-diary.tistory.com/262
'Junit' 카테고리의 다른 글
Mockito (0) | 2022.02.27 |
---|---|
Junit5 애노테이션 비교 (0) | 2022.02.27 |
Controller 단위테스트 (0) | 2022.02.27 |
Bad Request 처리하기 (0) | 2022.02.27 |
Assertion (0) | 2022.02.27 |