의존성 설정
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)
);
}
}
반응형
'Programming > Java, Spring' 카테고리의 다른 글
[Java/Spring] 스프링 빈과 의존관계 설정 (0) | 2022.10.24 |
---|---|
[Java ] 객체 지향에 대한 개념, 계산기 코드 OOP 리팩토링 (0) | 2022.10.23 |
[Java ] 테스트 코드를 작성하는 이유, TDD 코드 예시 (0) | 2022.10.23 |
[Java 기초문법] Spring | controller 만들기, thymeleaf 이용해 페이지 만들기, Bootstrap Table, using Formatter interface (0) | 2022.10.22 |
[Java 기초문법] Web and HTTP's basic working logic, Spring frame and tomcat underneath (0) | 2022.10.22 |