반응형
JUnit은 JAVA 프로그래밍 언어용 유닛 테스트 프레임워크이다. JUnit은 테스트 주도 개발을 위한 유닛 테스트 프레임워크이다.
테스트 결과를 텍스트로 남기는 것이 아니라 Test Class로 남기므로, 개발자에게 테스트 방법 및 클래스의 히스토리를 남길 수 있다.
JUnit4는 단일 Jar로 구성되었으나, JUnit5는 JUnit Platform, JUnit Jupiter, JUnit Vintage 모듈들로 구성되었다.
현재 JUnit 5.8.2 버전을 보면 크게 세가지 아래에 여러 모듈이 포함된걸 볼 수 있다. 모듈별 디스크립션은 https://junit.org/junit5/docs/current/api/index.html 참고하길 바란다.
(JUnit5 버전은 java8 부터 사용이 가능하다. https://junit.org/junit5/ )
https://junit.org/junit5/docs/current/user-guide/#overview
Assert 메서드
Assertions.java 를 참고하면 Assert 메서드를 확인할 수 있다. 다 설명할 수 없어서 몇가지만 나열하려고 한다.
- assertArrayEquals(a, b)
- 배열 A와 B가 일치함을 확인한다.
- assertEquals(a, b)
- 객체 A와 B가 같은 값을 가지는지 확인한다
- assertEquals(a, b, c)
- 객체 A와 B가 값이 일치함을 확인한다 ( a: 예상값, b:결과값, c: 오차범위)
- assertSame(a, b)
- 객체 A와 B가 같은 객체임을 확인한다
- assertTrue(a)
- 조건 A가 참인지 확인한다
- assertNotNull(a)
- 객체 A가 null이 아님을 확인한다
어노테이션
- @AfterAll
- 현재 테스트 클래스의 모든 테스트 후에 주석이 달린 메서드가 실행되어야 함을 알리는 데 사용됩니다 .
- @AfterEach
- 현재 테스트 클래스의 각 , , , 및 메서드 다음 에 주석이 달린 메서드가 실행되어야 함을 알리는 데 사용됩니다 . @Test@ RepeatedTest @ParameterizedTest @TestFactory @TestTemplate
- @BeforeAll
- 현재 테스트 클래스의 모든 테스트 전에 주석이 달린 메서드가 실행되어야 함을 알리는 데 사용됩니다 .
- @BeforeEach
- 현재 테스트 클래스의 각 , , , 및 메서드 보다 먼저 주석이 달린 메서드가 실행되어야 함을 알리는 데 사용됩니다 . @Test@RepeatedTest@ParameterizedTest@TestFactory@TestTemplate
- @Disabled
- 테스트 클래스 또는 테스트 메서드가 현재 비활성화 되어 실행되어서는 안 된다는 신호를 보내는 데 사용됩니다.
- @DisplayName
- 테스트 클래스 또는 테스트 메서드에 대한 사용자 지정 표시 이름 을 선언하는 데 사용됩니다
- @DisplayNameGeneration
- 테스트 클래스에 대한 사용자 지정 표시 이름 생성기를 선언하는 데 사용됩니다.
- @IndicativeSentencesGeneration
- DisplayNameGenerator.IndicativeSentences표시 이름 생성기를 등록하고 구성하는 데 사용됩니다
- @Nested
- 클래스가 둘러싸는 클래스 의 인스턴스와 설정 및 상태를 공유할 수 있는 중첩된 비정적 테스트 클래스(즉, 내부 클래스 )임을 알리는 데 사용 됩니다.
- @Order
- 필드, 메서드 또는 클래스가 동일한 범주의 다른 요소에 대해 평가되거나 실행되어야 하는 순서 를 구성하는 데 사용되는 주석입니다 .
- @RepeatedTest
- 지정된 횟수만큼 반복되어야 하는 테스트 템플릿 방법이라는 신호를 보내는 데 사용됩니다 .
- @Tag
- A는 반복 선언하는 데 사용되는 주석 태그 주석 테스트 클래스
- @Tags
- 하나 이상의 @Tag선언을 위한 컨테이너입니다 .
- @Test
- 테스트 방법 이라는 신호를 보내는 데 사용됩니다 .
- @TestClassOrder
- 테스트 클래스 ClassOrderer를 구성하는 데 사용되는 유형 수준 주석입니다 .@Nested
- @TestFactory
- 메서드가 테스트 팩토리 메서드 라는 신호를 보내는 데 사용됩니다 .
- @TestInstance
- 테스트 클래스 또는 테스트 인터페이스에 대한 테스트 인스턴스 의 수명 주기 를 구성하는 데 사용되는 유형 수준 주석입니다 .
- @TestMethodOrder
- 테스트 클래스 또는 테스트 인터페이스 MethodOrderer의 테스트 메서드 를 구성하는 데 사용되는 유형 수준 주석입니다 .
- @TestTemplate
- 주석이 달린 메서드가 테스트 템플릿 메서드 라는 신호를 보내는 데 사용됩니다 .
- @Timeout
- 한 클래스 및 해당 클래스 내에서 메서드 또는 모든 테스트 가능한 메서드에 대한 시간 초과를 정의하는 데 사용됩니다 @Nested.
반응형
'Delvelopment > Java' 카테고리의 다른 글
[Java] Method Dispatch (Static Dispatch, Dynamic Dispatch, Double Dispatch) (0) | 2022.01.23 |
---|---|
[Java] System.identityHashCode()와 hashCode() 차이 (0) | 2022.01.21 |
[JAVA] 산술, 비트, 관계, 논리, 3항, 화살표 연산자, java14 switch 문 (0) | 2022.01.06 |
[JAVA] 데이터 타입, 리터럴이란 , 변수의 Scope(범위) LifeTime(수명) (1) | 2022.01.03 |
[JAVA] JVM의 구성요소 및 동작원리 (0) | 2021.12.26 |
댓글