Programming/Java, Spring
[Java] 테스트 코드 작성시 ParameterizedTest + MethodSource 코드 작성 예시
Renechoi
2022. 10. 23. 15:58
의존성 설정
implementation 'org.junit.jupiter:junit-jupiter-params:5.9.0'
testImplementation 'org.assertj:assertj-core:3.23.1'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
ParameterizedTest에서 메소드 소스를 받아 작성하여
4개의 연산 테스트를 하나로 묶을 수 있다.
public class CalculatorTest {
@DisplayName("덧셈 연산을 수행한다")
@ParameterizedTest
@MethodSource("formulaAndResult")
void additionTest(int operand1, String operator, int operand2, int result) {
int calculateResult = Calculator.calculate(operand1, operator,operand2);
assertThat(calculateResult).isEqualTo(result);
}
private static Stream<Arguments> formulaAndResult(){
return Stream.of(
arguments(1, "+", 2, 3),
arguments(1, "-", 2, -1),
arguments(4, "*", 2, 8),
arguments(4, "/", 2, 2)
);
}
}
반응형