[Junit 5] 테스트 이름 설정, Assertion

2023. 2. 9. 22:59· BE/Java
목차
  1. 테스트 이름 설정하는 어노테이션
  2. Assertion
  3. 조건별로 테스트하는 방법
  4.  
반응형

더 자바, 애플리케이션을 테스트하는 다양한 방법

 

 

이 포스팅에서 작성하는 내용은 더 자바, 애플리케이션을 테스트하는 다양한 방법 에서 발췌하였습니다.

https://inf.run/CpvH

 

더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 | 강의

자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법을 학습합니다., - 강의 소개 | 인프런...

www.inflearn.com


테스트 이름 설정하는 어노테이션

  • @DisplayNameGeneration : 테스트 이름을 생성해주는 Rule 설정 어노테이션(클래스, 메서드 적용 가능)
  • @DisplayName : 테스트 이름을 설정할 수 있는 어노테이션 (@DisplayNameGeneration 보다 우선순위가 높음)

더 많은 정보 : https://junit.org/junit5/docs/current/user-guide/#writing-tests-display-names

  코드 실행 결과
적용 전
적용 후

 

 

 

Assertion

assertEquals(A, B, (C))
  • A: 기댓값
  • B: 변수
  • C: 예외 발생 시, 출력할 메시지.  ( 문자열 연산이 걱정되는 경우, 람다식 이용.  () -> "메시지"  )
assertNotNull(A) A가 Null이 아닌 지 확인 (Null 이면 예외 발생)
assertTrue(A) A가 True(boolean) 인 지 확인
assertAll(executables...) 모든 Assert 연산을 한 번에 확인
이 AssertAll을 사용하지 않으면, 예외 발생 시 다음 Assert 연산을 확인 할 수 없음
assertThrows(A, executable) executable 실행 시, A라는 예외가 발생하는 지 확인 (예외가 발생해야 정상 작동)
assertTimeout(duration, executable) 특정 시간(duration) 안에 executable이 실행 완료되는 지 확인
다만,  특정 시간을 넘어서도 executable이 끝나야 확인이 가능하다.

특정 시간이 넘어가면 바로 끝내고 싶을 때 : assertTimeoutPreemptively 사용
(다만 트랜잭션 스레드를 사용하는 경우 문제가 있다고 하니 주의)

 

ex 1) assertEquals

코드 실행결과


 

ex 2) assertAll

코드 실행결과

 

 

ex 3) assertTimeout

코드 실행결과

 

 

 

조건별로 테스트하는 방법

assumeTrue(A) A조건일 때, 테스트 진행
assumingThat(A, B) A조건일 때, B 테스트 진행
@EnabledOnOs (Disabled도 존재 OS가 일치할 때, 테스트 진행
@EnabledOnJre JDK가 일치할 때, 테스트 진행
@EnabledIfEnvironmentVariable 환경 변수가 일치할 때, 테스트 진행
@EnabledIf 조건이 일치할 때, 테스트 진행
위의 @Enabled_ 와 마찬가지로 (Disabled_도 존재)

 

ex 1) assumeTrue

코드 실행결과

 

ex 2) EnabledOnOs, EnabledOnJre

코드 실행결과
반응형

'BE > Java' 카테고리의 다른 글

[Junit 5] Test Instance, Test Order, junit 전역 설정  (0) 2023.02.14
[Junit 5] Tag, 테스트 반복  (0) 2023.02.13
[Junit 5] Junit5 들어가기  (0) 2023.02.07
[Effective Java] 아이템 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라  (0) 2023.01.05
[Effective Java] 아이템 89. 인스턴스 수를 통제해야 한다면 readResolve 보다는 열거 타입을 사용하라  (0) 2023.01.04
  1. 테스트 이름 설정하는 어노테이션
  2. Assertion
  3. 조건별로 테스트하는 방법
  4.  
'BE/Java' 카테고리의 다른 글
  • [Junit 5] Test Instance, Test Order, junit 전역 설정
  • [Junit 5] Tag, 테스트 반복
  • [Junit 5] Junit5 들어가기
  • [Effective Java] 아이템 90. 직렬화된 인스턴스 대신 직렬화 프록시 사용을 검토하라
멍목
멍목
개발 관련 새롭게 알게 된 지식이나 좋은 정보들을 메모하는 공간입니다.
반응형
멍목
김멍목의 개발블로그
멍목
전체
오늘
어제
  • 분류 전체보기 (514)
    • BE (190)
      • Spring (21)
      • Java (141)
      • Kotlin (6)
      • JPA (22)
    • FE (33)
      • Javascript (16)
      • Typescript (0)
      • React (5)
      • Vue.js (9)
      • JSP & JSTL (3)
    • DB (32)
      • Oracle (22)
      • MongoDB (10)
    • Algorithm (195)
    • Linux (8)
    • Git (6)
    • etc (42)
    • ---------------------------.. (0)
    • 회계 (4)
      • 전산회계 2급 (4)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 관리

공지사항

인기 글

태그

  • 이펙티브자바
  • 코테 공부
  • 코틀린
  • 코테공부
  • MongoDB with Node.js
  • MongoDB 공부
  • JPA
  • 알고리즘 공부
  • 프로젝트로 배우는 Vue.js 3
  • 자기 개발
  • 자바 개발자를 위한 코틀린 입문
  • MongoDB 기초부터 실무까지
  • junit5
  • 이펙티브 자바
  • vue3 공부
  • 자바공부
  • 전산회계 2급 준비
  • 더 자바 Java 8
  • 자바 공부
  • 자기공부
  • 자기 공부
  • 더 자바 애플리케이션을 테스트하는 다양한 방법
  • 자기개발
  • Java to Kotlin
  • Effective Java
  • 자바 테스팅 프레임워크
  • 알고리즘공부
  • java 8
  • Oracle
  • JPA 공부

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
멍목
[Junit 5] 테스트 이름 설정, Assertion
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.