본문 바로가기
반응형

JUnit 56

[Java] JUnit 5 사용법 (10) - Assertions, Assumptions 이번 포스팅에선 JUnit 을 사용하면서 간단하지만 제일 중요한 기능인 Assertions, Assumptions에 대해 알아보겠습니다. JUnit 5에서 기본적으로 제공해주는 Assertions, Assumptions를 알아보고 다른 라이브러리는 어떤 것들이 있는지 알아보겠습니다. JUnit 5 Assertions Assertion이 한글 뜻으로 주장이라는 뜻인데 테스트가 원하는 결과를 제대로 리턴하는지 에러는 발생하지 않는지 확인할 때 사용하는 메소드를 말합니다. 각 메소드의 인자는 별도로 표기하지 않겠습니다. 워낙 많은 인자들이 있어서 표기하지 않았습니다. 메소드명 설명 fail 무조건 실패 (레거시에 사용하면 좋다.) assertTrue 조건이 성공이면 True assertFalse 조건이 실패면.. 2022. 9. 6.
[Java] JUnit 5 사용법 (5) - 반복 테스트하기 (@ParameterizedTest, @CvsFileSource, @ArgumentSource) (3) 이번 포스팅에서는 @ParameterizedTest의 부가 어노테이션 드디어 마지막 2개를 마무리짓겠습니다. @CvsFileSource .cvs 파일을 읽어서 테스트할 수 있게 해주는 어노테이션 @CvsSource와 거의 파라미터 값이 비슷합니다. 파라미터명 타입 설명 resources String[] .cvs 파일 경로 경로는 resources 폴더로부터 시작 files String[] .cvs 파일 경로 경로는 프로젝트 폴더로부터 시작 encoding String 파일 인코딩 값 기본값 : "UTF-8" lineSeparator String 줄 바꿈 구분자 기본값 : "\n" delimiter char delimiter를 변경 (char 형) delimiterString 하고 같이 사용 불가 deli.. 2022. 9. 6.
[Java] JUnit 5 사용법 (4) - 태깅, 필터링 테스트 (@Tag) 이번 포스팅에선 작성한 테스트 코드를 구분지어 태깅하고 원하는 태그만 필터링해서 테스트할 수 있게해주는 @Tag 어노테이션에 대해 알아보겠습니다. @Tag 테스트 클래스, 메소드에 테스트 구분을 태깅하기 위해 사용 파라미터명 타입 설명 value String 태그명 예시 빨리 끝나는 테스트는 fast로 늦게 끝나는 테스트는 slow로 태깅해서 테스트 돌릴 때 각각 실행시켜보겠습니다. 빠른 건 @Tag("fast"), 느린 건 @Tag("slow")로 태깅을 했습니다. package com.effortguy.junit5; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; public class TagAnnotation { @Test .. 2022. 9. 6.
[Java] JUnit 5 사용법 (5) - @RepeatedTest, @ParameterizedTest, @ValueSource, @NullSource, @EmptySource, @NullAndEmptySource 이번 포스팅에선 조건에 따라 반복 테스트를 할 수 있게 해주는 어노테이션에 대해 알아보겠습니다. @RepeatedTest, @ParameterizedTest 처럼 어노테이션명이 Test로 끝나면 별도로 @Test 어노테이션이 없어도 테스트가 가능합니다. @RepeatedTest 파라미터명 타입 설명 value int 반복 횟수 (반드시 0보다 커야함) (필수) name String 반복할 때 나타나는 테스트명 기본값 : "repetition " + 현재 반복 횟수 + " of " + 총 반복 횟수 @ReapeatedTest를 사용하면 RepetitionInfo 타입의 인자를 받을 수 있습니다. 앞에서 설명했어야 했는데 추가로 말하자면 JUnit 테스트는 기본적으로 TestInfo 타입의 인자도 받을 수 .. 2022. 9. 6.
[Java] JUnit 5 사용법 (2) - 소개, 설정, 기본 메소드 (@Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll, @Disabled) JUnit이 뭔지 알고싶으시다면 이전 포스팅을 확인해주세요. [Spring Boot] JUnit이란? JUnit 이란? 자바 개발자라면 반드시 알고있어야 하는 테스팅 프레임워크 중 하나입니다. 아주 심플하고 직관적인 Kent Beck, Erich Gamma, David Saff, Kris Vasudevan 이 만든 자바 테스팅 프레임워크로 XUnit이 effortguy.tistory.com JUnit 5란? JUnit 의 버전 5를 뜻하며 2017년 2월에 출시되어 많은 개발자들이 사용하고 있는 테스팅 프레임워크입니다. JUnit 5는 이전 버전들과 다르게 3개의 서브 프로젝트 모듈로 이루어져있습니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage .. 2022. 9. 6.
[Java] JUnit 5 사용법 (1) - JUnit이란? (JUnit 5) JUnit 이란? 자바 개발자라면 반드시 알고있어야 하는 테스팅 프레임워크 중 하나입니다. 아주 심플하고 직관적인 Kent Beck, Erich Gamma, David Saff, Kris Vasudevan 이 만든 자바 테스팅 프레임워크로 XUnit이라는 이름의 유닛 테스트 프레임워크 중 하나입니다. (자바는 JUnit, C 언어는 CUnit) Intellij를 만든 JetBrain 사에서 조사한 결과 단위 테스트를 하는 개발자는 75%고 그 중 JUnit을 사용하는 개발자는 2019년엔 93%, 2020년엔 83% 라고 하네요. 1년 사이에 10%나 줄었네요. (어떤 걸로 이동했나 궁금...) 2019년 통계 (https://www.jetbrains.com/lp/devecosystem-2019/java.. 2022. 9. 6.
반응형