이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!
⛅️ 단위 테스트
우리가 개발한 기능이 원래의 의도대로 작동하는지 검증할 수 있는 방법 중 하나이다.
테스트의 종류에는 Unit test(단위 테스트), Integration Test(통합 테스트), UI Test가 있는데, 그 중 단위 테스트는 규모가 제일 작은 테스트이다.
클래스 범주 내에 작은(함수) 단위의 기능이 의도대로 동작하는지 유효성을 검증하는 테스트가 단위테스트이다.
단위 테스트를 통해 해당 기능에 대한 신뢰도를 높일 수 있으며, 규모가 작기 때문에 빠르게 실행된다.
⛅️ @Test, @DisplayName
1. @Test
@Test를 적으면 메서드를 테스트 메서드로 인식하고, 단일 실행할 수 있게 된다.
@Test
void test1(){
System.out.println("test1");
}
메서드의 왼쪽에 보면 실행 핀이 보이게 되는데, 실행핀을 누르면 단일 테스트가 실행된다.
초록색 불이 뜬다면 테스트가 성공했다는 뜻이고, 붉은색 불이 뜬다면 테스트에 실패했다는 뜻이다.
2. @DisplayName
@DisplayName은 테스트 결과에 뜨는 이름을 설정할 수 있는 어노테이션이다.
테스트 결과에 뜨길 원하는 내용이 있다면 @DisplayName()의 인자로 전달하면 된다.
예를 들어 test1()의 결과 창에 "테스트 메서드 1" 이라고 뜨게 하고싶다면, 밑과 같이 적으면 된다.
@Test
@DisplayName("테스트 메서드 1")
void test1(){
System.out.println("test1");
}
⛅️ @BeforeAll, @BeforeEach
1. @BeforeAll
테스트를 시작하기 전에 단 한번 실행되며, static으로 선언해야 한다.
class AnnotationTest {
@BeforeAll
static void beforeAll(){
System.out.println("beforeAll");
}
@Test
void test1(){
System.out.println("test1");
}
@Test
void test2(){
System.out.println("test2");
}
}
2. @BeforeEach
각각의 테스트를 실행하기 전에 실행하는 메서드임을 표시한다.
class AnnotationTest {
@BeforeEach
void beforeEach(){
System.out.println("beforeEach");
}
@Test
void test1(){
System.out.println("test1");
}
@Test
void test2(){
System.out.println("test2");
}
}
⛅️ @AfterAll, @AfterEach
1. @AfterAll
모든 테스트 메서드가 끝난 후, 단 한 번 실행된다.
class AnnotationTest {
@AfterAll
static void afterAll(){
System.out.println("afterAll");
}
@Test
void test1(){
System.out.println("test1");
}
@Test
void test2(){
System.out.println("test2");
}
}
2. @AfterEach
각각의 테스트 메서드가 끝날 때마다 실행된다.
class AnnotationTest {
@AfterEach
void afterEach(){
System.out.println("AfterEach");
}
@Test
void test1(){
System.out.println("test1");
}
@Test
void test2(){
System.out.println("test2");
}
}
⛅️ @Disabled
테스트 클래스/메서드를 비활성화한다.
class AnnotationTest {
@Test
void test1(){
System.out.println("test1");
}
@Test
@Disabled
void test2(){
System.out.println("test2");
}
@Test
void test3(){
System.out.println("test3");
}
}