【发布时间】:2021-10-17 14:07:48
【问题描述】:
我有一个 Feign 客户端的测试,我想设置一个测试切片,例如 @WebMvcTest、@DataJpaTest 等。
例如,以下测试使用@SpringBootTest 并加载所有应用程序上下文:
@SpringBootTest
@AutoConfigureWireMock(port = 0)
class AgePredictorFeignClientTest {
@Autowired
private AgePredictorFeignClient agePredictorFeignClient;
@Test
void getAge() {
stubFor(get(urlEqualTo("/age-api?name=Henrique"))
.willReturn(aResponse().withBodyFile("25_years_old.json")
.withHeader("Content-Type", "application/json")));
Integer age = agePredictorFeignClient.getAge("Henrique").getAge();
assertThat(age).isEqualTo(25);
verify(getRequestedFor(urlEqualTo("/age-api?name=Henrique")));
}
}
如何更改此测试以仅加载与 Spring Cloud OpenFeign 相关的上下文?
此测试的应用程序的源代码可在https://github.com/henriquels25/openfeign-tests-sample 获得。
【问题讨论】:
标签: java spring spring-boot spring-cloud-feign feign