[SPRING] `WebTestClient` 자동 - 자동 설정 없음
SPRING`WebTestClient` 자동 - 자동 설정 없음
우리는 스프링 프레임 워크 5와 스프링 부트 2.0.0.M6을 사용하고 있으며 반응 형 프로그래밍을 위해 WebClient를 사용하고 있습니다. 우리는 반응 형 휴지 엔드 포인트에 대한 테스트 메소드를 작성 했으므로이를 수행하는 방법에 대한 예제를 찾아 보았습니다. 나는이 하나 또는 이것과 많은 다른 것들을 발견했다. 그들은 단지 WebTestClient를 autowire합니다. 그래서 나는 같은 것을 시도했다 :
@Log
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class MyControllerTest {
@Autowired
private WebTestClient webClient;
@Test
public void getItems() throws Exception {
log.info("Test: '/items/get'");
Parameters params = new Parameters("#s23lkjslökjh12", "2015-09-20/2015-09-27");
this.webClient.post().uri("/items/get")
.accept(MediaType.APPLICATION_STREAM_JSON)
.contentType(MediaType.APPLICATION_STREAM_JSON)
.body(BodyInserters.fromPublisher(Mono.just(params), Parameters.class))
.exchange()
.expectStatus().isOk()
.expectHeader().contentType(MediaType.APPLICATION_STREAM_JSON)
.expectBody(Basket.class);
}
}
오류가 발생하기 때문에 실행할 수 없습니다.
Could not autowire. No beans of 'WebTestClient' type found.
따라서 자동 구성이 존재하지 않는 것 같습니다. 잘못된 버전을 사용합니까, 아니면 여기서 무엇이 문제입니까?
해결법
-
==============================
1.@AutoConfigureWebTestClient 주석으로 MyControllerTest 테스트 클래스에 주석을 답니다. 그게 문제를 해결해야합니다.
@AutoConfigureWebTestClient 주석으로 MyControllerTest 테스트 클래스에 주석을 답니다. 그게 문제를 해결해야합니다.
-
==============================
2.수락 된 대답은 나를 위해 그 오류를 던지기보다는 스프링 부트 2.0.3의 테스트 스타터 외에 webflux 스타터를 추가해야했습니다.
수락 된 대답은 나를 위해 그 오류를 던지기보다는 스프링 부트 2.0.3의 테스트 스타터 외에 webflux 스타터를 추가해야했습니다.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
그런 다음 표준 웹 테스트 주석을 사용하십시오.
@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) public class IntegrationTest { @Autowired private WebTestClient webClient; @Test public void test() { this.webClient.get().uri("/ui/hello.xhtml") .exchange().expectStatus().isOk(); } }
from https://stackoverflow.com/questions/48226651/cant-autowire-webtestclient-no-auto-configuration by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] SSL을 사용하여 Spring WebSocketClient를 사용하는 방법은 무엇입니까? (0) | 2019.07.17 |
---|---|
[SPRING] Spring MVC 누락 행렬 변수 (0) | 2019.07.17 |
[SPRING] 기본 시스템 인증 / 사용자가있는 SecurityContext (0) | 2019.07.17 |
[SPRING] Hibernate / JPA를 사용하여 삽입 / 업데이트 / 삭제 이전에 사용자를 DB에 알리는 방법은 무엇입니까? (0) | 2019.07.17 |
[SPRING] 사용자 정의 컬렉션 이름을 가진 Spring 데이터 MongoDB 저장소 (0) | 2019.07.17 |