inflearn logo
강의

Course

Instructor

Spring-based REST API development

JunitParams 관련 질문 드립니다.

6504

rlaguswhd19

6 asked

3

@Parmeters를 의 값들을 받을 수 없는것 같습니다.

이런식으로 짜였는데 에러가 발생합니다.

java source

org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [int basePrice] in method [public void com.hj.spring.events.EventTest.testFree(int,int,boolean)].
	at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:200)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:144)
	at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:96)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:202)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:198)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
	at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:69)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135)
	at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
	at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)

parameterResolver가 없다고 하는데 해결방법을 여쭐수 있을까요 junit 4.1.2버젼에 jupiter 5.5.2버젼입니다.

rest-api java spring

Answer 3

15

tkdwlsdlzzz1820

Junit5로 할때는 방법이 조금 바뀌었습니다.

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.4.2</version>
<scope>test</scope>
</dependency>

@ParameterizedTest
@CsvSource({
"0, 0, true",
"0, 100, false",
"100, 0, false",
})
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);
}

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

event.update();

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

private static Stream<Arguments> isOffline() {
return Stream.of(
Arguments.of("강남역", true),
Arguments.of(null, false),
Arguments.of("", false)
);
}

0

elduque2430

도움되었습니다 기존 @Test는 지워야하는군요! 둘다 쓰니까 계속 에러가 하나 더 나서 먼가 했내요

0

rlaguswhd19

선장님 감사합니다. 해결했습니다. 앞으로도 항상 좋은 강의 부탁드립니다!

0

whiteship

JUnit 4가 제공하는 @Test를 써보세요. jupiter가 로그에 찍힌걸 보니 JUnit 5가 제공하는 @Test를 쓰신거 같네요.

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

0

73

1

junit5 사용하시는 분들

0

88

1

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

0

237

2

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

0

243

1

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

0

190

1

java.lang.AssertionError: Status

0

532

2

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

0

287

1

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

0

741

1

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

0

477

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

765

2

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

0

274

1

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

1

473

1

asciidoc 추가 스니펫 에러 해결법

0

400

1

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

0

424

3

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

0

332

1

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

0

333

1

부트 + jupiter 인 경우 설정법

0

342

1