JUnit 이란
Unit은 자바에서 단위 테스트 작성을 위한 프레임워크다.
JUnit 5
- JUnit의 이전 버전과 달리 여러 모듈로 구성되어있다.
- JUnit 5 = JUnit 플랫폼 + JUnit Jupiter + JUnit Vintage
- JUnit 플랫폼: JVM에서 테스트 프레임워크를 실행하기 위한 기초 역할을 한다.
TestEngine
플랫폼에서 실행되는 테스트 프레임 워크를 개발하기 위한 API를 정의한다. - JUnit Jupiter: JUnit 5을 지원하는
TestEngine
구현체 - Vintage: JUnit 4와 3을 지원하는
TestEngine
구현체
Annotations
@Test
: 테스트 메서드라는 것을 나타내느 어노테이션- 생명주기 어노테이션
@BeforeAll
: 해당 클래스에 위치한 모든 테스트 메서드 실행 전에 딱 학 번 실행되는 메서드@AferAll
: 해당 클래스에 위치한 모든 테스트 메서드 실행 후에 딱 한 번 실행되는 메서드@BeforeEach
: 해당 클래스에 위치한 모든 테스트 메서드 실행 전에 실행되는 메서드@AfterEach
: 해당 클래스에 위치한 모든 테스트 메서드 실행 후에 실행되는 메서드
@Disabled
: 테스트를 하고 싶지 않은 클래스나 메서드에 붙이는 어노테이션@DisplayName
: 어떤 테스트인지 쉽게 표현할 수 있도록 해주는 어노테이션@ParameterizedTest
: 테스트에 여러 다른 매개변수를 대입해가며 반복 실행할 때 사용하는 어노테이션@Nested
: 테스트 클래스 안에서 내부 클래스를 정의해 테스트를 계층화 할 때 사용. Before/After과 같은 테스트 생명주기에 관계된 메소드들도 계층에 맞춰 동작한다.
Assertions
- 테스트 케이스의 수행 결과를 판별하는 메서드
- 모든 JUnit Jupiter Assertions는 static 메서드
assertAll()
: 매개변수로 받는 모든 테스트코드를 한 번에 실행. 오류가 나도 끝까지 실행한 뒤 한에 모아서 출력assertThorws()
: 예외 발생을 확인하는 테스트assertTimeout()
: 특정 시간 안에 실행이 완료되는지 확인assumeTrue()
: false일 때 이후 테스트 전체가 실행되지 않음assumingThat()
: false일 때 파라미터로 전달된 코드 블럭만 실행되지않음
댓글남기기