달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • MySQL
  • 자바
  • SQL고득점Kit
  • react
  • 백준문제풀이
  • BOJ
  • 혼자공부하는SQL
  • 알고리즘풀이
  • 알고리즘
  • SQL
  • 혼공SQL
  • programmers
  • Algorithm
  • BRONZE
  • Bronze III
  • BOJ algorithm
  • math
  • 프로그래머스
  • Bronze V
  • Scanner
  • java
  • 문제풀이
  • sql 문제풀이
  • 백준알고리즘
  • java algorithm
  • 혼공MySQL
  • HTML
  • 백준
  • Bronze IV
  • select

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

JUnit 5 기본 개념 및 Annotation
개념 창고

JUnit 5 기본 개념 및 Annotation

2023. 2. 27. 01:12

JUnit 5 : 자바 프로그래밍 언어용 단위 테스트 프레임워크

 

JUnit 구조

  • JUnit Platform : 테스트를 발견하고 테스트 계획을 생성하는 Test Engine API를 가지고 있음. Platform은 TestEngine을 통해서 테스트를 발견하고 실행하고 결과를 보고
  • Jupiter : Test Engine의 실제 구현체는 별도 모듈이며, 모듈 중 하나가 jupiter-engine입니다. 이 모듈은 jupiter-api를 사용해서 작성한 테스트 코드를 발견하고 실행. Jupiter API는 JUnit 5에 새롭게 추가된 테스트 코드용 API로서, 개발자는 Jupiter API를 사용해서 테스트 코드를 작성할 수 있음.
  • Vintage : TJUnit 4 버전으로 작성한 테스트 코드를 실행할 때에는 vintage-engine 모듈을 사용


Junit5 어노테이션들

JUnit5 어노테이션 내용 JUnit4 어노테이션
@Test 테스트 Method임을 선언함. @Test
@ParameterizedTest 매개변수를 받는 테스트를 작성할 수 있음.  
@RepeatedTest 반복되는 테스트를 작성할 수 있음.  
@TestFactory @Test로 선언된 정적 테스트가 아닌 동적으로 테스트를 사용함.  
@TestInstance 테스트 클래스의 생명주기를 설정함.  
@TestTemplate 공급자에 의해 여러 번 호출될 수 있도록 설계된 테스트 케이스 템플릿임을 나타냄.  
@TestMethodOrder 테스트 메소드 실행 순서를 구성하는데 사용함.  
@DisplayName 테스트 클래스 또는 메소드의 사용자 정의 이름을 선언할 때 사용함.  
@DisplayNameGeneration 이름 생성기를 선언함. 예를 들어 '_'를 공백 문자로 치환해주는 생성기가 있음. ex ) new_test -> new test  
@BeforeEach 모든 테스트 실행 전에 실행할 테스트에 사용함. @Before
@AfterEach 모든 테스트 실행 후에 실행한 테스트에 사용함. @After
@BeforeAll 현재 클래스를 실행하기 전 제일 먼저 실행할 테스트 작성하는데,  static로 선언함. @BeforeClass
@AfterAll 현재 클래스 종료 후 해당 테스트를 실행하는데,  static으로 선언함. @AfterClass
@Nested 클래스를 정적이 아닌 중첩 테스트 클래스임을 나타냄.  
@Tag 클래스 또는 메소드 레벨에서 태그를 선언할 때 사용함.  이를 메이븐을 사용할 경우 설정에서 테스트를 태그를 인식해 포함하거나 제외시킬 수 있음.  
@Disabled 이 클래스나 테스트를 사용하지 않음을 표시함. @Ignore
@Timeout 테스트 실행 시간을 선언 후 초과되면 실패하도록 설정함.  
@ExtendWith 확장을 선언적으로 등록할 때 사용함.  
@RegisterExtension 필드를 통해 프로그래밍 방식으로 확장을 등록할 때 사용함.  
@TempDir 필드 주입 또는 매개변수 주입을 통해 임시 디렉토리를 제공하는데 사용함.

 

저작자표시 비영리 변경금지 (새창열림)

'개념 창고' 카테고리의 다른 글

Signed & Unsigned 정의 및 차이  (0) 2024.01.31
SPA(Single Page Application) vs MPA(Multi Page Application)  (0) 2023.03.31
[DB] DDL, DML, DCL 이란?  (0) 2023.01.20
Web Server와 WAS(Web Application Server)  (0) 2023.01.19
오름차순(ASC), 내림차순(DESC) 쉽게 이해하기  (2) 2023.01.17
    '개념 창고' 카테고리의 다른 글
    • Signed & Unsigned 정의 및 차이
    • SPA(Single Page Application) vs MPA(Multi Page Application)
    • [DB] DDL, DML, DCL 이란?
    • Web Server와 WAS(Web Application Server)
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바