테스트 방법
JUnit 이란?
JUnit은 자바 언어용 단위 테스트 프레임워크입니다. 단위 테스트는 개발자가 자동화된 단위 테스트를 작성하게 도와줍니다. 이를 통해서 코드 품질을 향상시킬 수 있습니다. JUnit은 코드를 리팩토링 하거나 기능을 추가하거나 할때 이전에 작성된 테스트 코드가 작동하는지 확인함으로써 코드 일관성에도 도움을 주게 됩니다.
JUnit 특징
- 사용이 쉽습니다. 개발자가 테스트 케이스를 작성하기 용이합니다.
- 자동화된 테스트가 가능합니다. 코드 커버리지를 보장할 수 있습니다.
- 테스트 코드 재사용성이 가능합니다. JUnit은 단위 테스트이기 때문에 독립적으로 실행할 수 있습니다. 그래서 코드를 재사용하기 용이합니다.
- 테스트 코드 가독성 : JUnit 테스트 결과 쉽게 이해하는데 도움이 됩니다.
JUnit 버전
- JUnit 3: JUnit의 초기 버전으로, Java 1.2와 호환됩니다. 이 버전에서는 TestSuite, TestCase 및 assert 메서드를 사용하여 테스트를 작성합니다.
- JUnit 4 : JUnit 4.x는 Java 5 이상을 지원합니다. 이 버전에서는 @Test, @Before, @After, @BeforeClass, @AfterClass 및 assert 메서드를 사용하여 테스트를 작성합니다.Unit 5.x: JUnit 5.x는 Java 8 이상을 지원합니다. 이 버전에서는 Jupiter API를 사용하여 테스트를 작성할 수 있습니다. Jupiter API는 @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll 및 assert 메서드와 같은 주요 어노테이션과 함께 확장 가능한 테스트 인터페이스를 제공합니다.
- JUnit 5 : JUnit 5.x는 Java 8 이상을 지원합니다. 이 버전에서는 Jupiter API를 사용하여 테스트를 작성할 수 있습니다. Jupiter API는 @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll 및 assert 메서드와 같은 주요 어노테이션과 함께 확장 가능한 테스트 인터페이스를 제공합니다.
JUnit 사용하기
1. 의존성 추가
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
2. 테스트 클래스 작성
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class MyTest {
@Test
public void testAddition() {
assertEquals(2, 1 + 1);
}
}
JUnit 지원 메소드
@Test: @Test 애노테이션은 테스트 메소드를 지정합니다.
@BeforeEach: @BeforeEach 애노테이션은 각각의 @Test 메소드가 실행되기 전에 실행되는 메소드를 지정하게 됩니다. 이 메소드를 사용하여 테스트 데이터를 초기화하거나 테스트 환경을 설정할 수 있습니다.
@AfterEach: @AfterEach 애노테이션은 각각의 @Test 메소드가 실행된 후에 실행되는 메소드를 지정하게 됩니다.. 이 메소드를 사용하여 테스트 후처리를 수행하거나 테스트 환경을 해제할 수 있습니다.
@BeforeAll: @BeforeAll 애노테이션은 모든 테스트 메소드가 실행되기 전에 한 번만 실행되는 메소드를 지정하게 됩니다.. 이 메소드를 사용하여 테스트 환경을 설정하거나 데이터를 초기화할 수 있습니다.
@AfterAll: @AfterAll 애노테이션은 모든 테스트 메소드가 실행된 후에 한 번만 실행되는 메소드를 지정하게 됩니다.. 이 메소드를 사용하여 테스트 후처리를 수행하거나 테스트 환경을 해제할 수 있습니다.
@Disabled: @Disabled 애노테이션은 테스트를 비활성화합니다. 이 애노테이션이 붙은 메소드는 테스트 도구에서 실행되지 않습니다.
@ParameterizedTest: @ParameterizedTest 애노테이션은 매개변수화된 테스트를 수행할 때 사용됩니다. 이 애노테이션은 여러 개의 매개변수를 받는 테스트 메소드를 생성합니다.
@RepeatedTest: @RepeatedTest 애노테이션은 반복적인 테스트를 수행할 때 사용됩니다. 이 애노테이션은 지정된 횟수만큼 테스트 메소드를 반복 실행합니다.
JUnit 사용 시 주의사항
- 메소드 순서가 보장되지 않는다.
- 상태를 공유하게 만들어서는 안된다. 특히, 변수값
- 예외 처리를 하는것이 좋습니다. 예외가 발생하면 테스트 코드가 중단됩니다.
- 테스트 코드 작성의 목적은 테스트 목적을 쉽게 하기 위함입니다. 테스트 결과를 충분히 검증해야 합니다.
- 테스트 메소드 이름을 명확하게 작성해야 합니다.
- 테스트 커버리지를 충분히 높여야 합니다.
'IT' 카테고리의 다른 글
패션 관련 프로젝트를 진행하며 ... 1 (feat. 500 maker) (3) | 2024.01.14 |
---|---|
Java 버전업 (11->17) 후기 켁; (1) | 2024.01.07 |
캐시방법 (0) | 2023.03.11 |
Spring Bean (0) | 2023.02.04 |
카프카 스터디를 시작하며 (0) | 2022.12.03 |
댓글
이 글 공유하기
다른 글
-
패션 관련 프로젝트를 진행하며 ... 1 (feat. 500 maker)
패션 관련 프로젝트를 진행하며 ... 1 (feat. 500 maker)
2024.01.14 -
Java 버전업 (11->17) 후기 켁;
Java 버전업 (11->17) 후기 켁;
2024.01.07 -
캐시방법
캐시방법
2023.03.11 -
Spring Bean
Spring Bean
2023.02.04