Junit4와 Junit5에서는 parameter를 이용한 Test를 실행할 때 조금 다르다.
Junit 4 : JunitParams 이용
@RunWith(JunitParams.class)
public class EventTest {
@Test
@Parameters
public void testFree(int basePrice, int maxPrice, boolean isFree) {
Event event = Event.builder()
.basePrice(basePrice)
.maxPrice(maxPrice)
.build();
event.update();
assertThat(event.isFree()).isEqualTo(isFree);
}
private Object[] parametersForTestFree() {
return new Object[]{
new Object[]{0, 0, true},
new Object[]{100, 0, false},
new Object[]{0, 100, false},
new Object[]{100, 200, false}
};
}
}
Junit5 : @ParameterizedTest 사용
@ParameterizedTest
@MethodSource("parametersForTestFree")
public void testFree(int basePrice, int maxPrice, boolean isFree) {
Event event = Event.builder()
.basePrice(basePrice)
.maxPrice(maxPrice)
.build();
event.update();
assertThat(event.isFree()).isEqualTo(isFree);
}
static Object[] parametersForTestFree() {
return new Object[]{
new Object[]{0, 0, true},
new Object[]{100, 0, false},
new Object[]{0, 100, false},
new Object[]{100, 200, false}
};
}
'Spring' 카테고리의 다른 글
쓰지않는 import문 지우는 단축키 (0) | 2022.12.12 |
---|---|
Spring의 DI와 IoC에 대해 설명할 수 있나요? (0) | 2022.12.11 |
Transaction에 대해서 아시나요? (2) | 2022.12.05 |
JSON 응답에서 한글 깨질 때 해결 방법 (2) | 2022.11.30 |
구글 애널리틱스를 사용해서 내 사이트 분석하기 (3) | 2022.11.24 |