기술을 기술하다

JUnit5, @ParameterizedTest 사용 예

하나의 테스트 메서드에 여러 테스트 케이스 수행하기

Word count: 107Reading time: 1 min
2019/06/17 Share

JUnit5에서 ParameterizedTest를 사용하여 여러번의 테스트 케이스 수행하기

  • 테스트 메서드에 입력값만 전달할 경우

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @ParameterizedTest
    @ValueSource(strings = {
    "123",
    "1 - 2",
    "1 + 2 + 3",
    "2 + 3 * 4 / 2",
    "1343 + 231 * 2 / 4",
    })
    void 올바른_형식의_수식으로_다항식_생성_테스트(String expression) {
    Polynomial polynomial = Polynomial.createPolynomialWithExpression(expression);

    assertThat(polynomial).isInstanceOf(Polynomial.class);
    }
  • 테스트 메서드에 입력값 뿐만 아니라 결과값도 전달할 필요가 있을 때

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @ParameterizedTest
    @CsvSource({
    "'1 - 2', -1",
    "'1 + 2 + 3', 6"
    })
    void 다항식_연산_수행_테스트(String expression, int expectedResult) {
    Polynomial polynomial = Polynomial.createPolynomialWithExpression(expression);

    assertThat(polynomial.calculate()).isEqualTo(expectedResult);
    }
    }
CATALOG
  1. 1. JUnit5에서 ParameterizedTest를 사용하여 여러번의 테스트 케이스 수행하기