inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 기반 REST API 개발

매개변수를 이용한 테스트

Junit5 ParameterizedTest 를 이용해보았습니다.

749

김병호

작성한 질문수 3

18

    @ParameterizedTest
    @MethodSource("paramsForTestFree")
    public void testFree(int basePrice, int maxPrice, boolean isFree) {
        // given
        Event event = Event.builder()
                .basePrice(basePrice)
                .maxPrice(maxPrice)
                .build();

        // when
        event.update();

        // then
        assertThat(event.isFree()).isEqualTo(isFree);
    }

    @ParameterizedTest
    @MethodSource("paramsForTestOffline")
    void testOffline(String location, boolean isOffline) {
        // given
        Event event = Event.builder()
                .location(location)
                .build();

        // when
        event.update();

        // then
        assertThat(event.isOffline()).isEqualTo(isOffline);
    }

    private static Stream<Arguments> paramsForTestFree() { // argument source method
        return Stream.of(
                Arguments.of(0,0, true),
                Arguments.of(100, 0, false),
                Arguments.of(0, 100, false),
                Arguments.of(100, 200, false)
        );
    }

    private static Stream<Arguments> paramsForTestOffline() { // argument source method
        return Stream.of(
                Arguments.of("강남", true),
                Arguments.of(null, false),
                Arguments.of("        ", false)
        );
    }

JUNIT5를 이용하시는분들에게 도움이 되었으면 좋겠습니다.

spring rest-api java

답변 4

0

Tommy

좋은 예제 감사합니다!

 

0

항상배고픈데귀찮아서안움직임

저처럼 헤매고 있으실 분이 있을 까봐 댓글 남깁니다.

저는 현재 Spring boot 2.7.4 사용중인데요,
해당 버전에 의존하고 있는 Junit5 버전은 5.8.2입니다.

따라서 pom.xml에서도

5.8.2 버전의 junit-jupiter-params을 등록해주어야 합니다.

그렇지 않다면 NoSuchMethodError를 겪으실 겁니다.

저처럼 mvnrepository에서 항상 최신거만 가지고 오시는 분들 중 오류가 나시는 분은 버전 확인해보시면 좋을 것 같습니다.

 

0

장원익

감사합니다

찾고있었는데 어떻게 해야하나 고민하고 있었어요 ㅎㅎ

0

백기선

좋은 예제 공유해 주셔서 감사합니다. 귿귿!

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

0

73

1

junit5 사용하시는 분들

0

87

1

자바 빈 스펙을 준수하는지 체크하는 테스트

0

236

2

REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러

0

242

1

스프링 부트 3버전에서의 실습

0

190

1

java.lang.AssertionError: Status

0

530

2

spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.

0

286

1

섹션2 201응답받기 부분 테스트 404에러 질문입니다

0

740

1

강의 자료가 404입니다 확인 부탁 드려요!

0

476

1

연동 DB문의

0

358

1

이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문

0

505

1

(Mac) postgressql 관련하여 port kill 해도 다시 살아나는 경우

0

380

0

maven으로 생성한 docs파일(index.html)에서의 not found 오류 질문

0

621

1

테스트 오류 질문드립니다.

0

512

1

docs 요청값이 반영이 안되네요... (해결)

-1

394

1

psql 적용 후 에러

0

818

2

mvn package 시 다음과 같은 에러가 나시면

0

763

2

Event에 Account manager를 추가했으면 문서화 필요

0

274

1

2년 훨씬 전 부터 Restlet-> Talend API 로 바뀌었습니다~

1

473

1

asciidoc 추가 스니펫 에러 해결법

0

400

1

_links 는 현재 fieldWithPath 를 해주지 않아도 됩니다.

0

423

3

깃랩 처음 사용자를 위한 index.adoc raw 보는 법

0

332

1

eclipse 쓰시는 분을 위한 maven-resources-plugin 팁

0

332

1

부트 + jupiter 인 경우 설정법

0

342

1