Java 如何在Springboot中创建假的假客户端?
我有一个真正的假客户端,它从远程端点返回一些对象 然而,在我开始请求新服务之前,我需要先测试我的实体/逻辑。我决定制造假货 模拟服务将返回我需要的对象(最多5个)Java 如何在Springboot中创建假的假客户端?,java,spring,spring-boot,mocking,Java,Spring,Spring Boot,Mocking,我有一个真正的假客户端,它从远程端点返回一些对象 然而,在我开始请求新服务之前,我需要先测试我的实体/逻辑。我决定制造假货 模拟服务将返回我需要的对象(最多5个) 如何在SpringBoot中伪造假客户端 您可以使用@Primary注释覆盖默认实现 在java配置文件中: @Bean @Primary // this anotation will override the system implementation public FeignClient feignClient() { // c
如何在SpringBoot中伪造假客户端 您可以使用@Primary注释覆盖默认实现 在java配置文件中:
@Bean
@Primary // this anotation will override the system implementation
public FeignClient feignClient() {
// create and return a fake FeignClient here.
return MyFakeImplementationFeignClient();
}
您可以使用@Primary注释覆盖默认实现 在java配置文件中:
@Bean
@Primary // this anotation will override the system implementation
public FeignClient feignClient() {
// create and return a fake FeignClient here.
return MyFakeImplementationFeignClient();
}
您可以使用真正的假客户端,但让它与虚拟服务器通信 Wiremock是一个简单的虚拟服务器,可以在java代码中启动,也可以作为独立的java主类启动: 一旦启动并配置了它,就可以在您的佯装客户端中使用它 一个主要优点是,您还可以立即实现/测试JSON或HTTP映射,因此您可以确保FaignClient的配置也正确。您甚至可以模拟错误或延迟:
WireMock.stubFor(get(urlEqualTo("/somethings")).willReturn(
aResponse()
.withStatus(503)
.withFixedDelay(10_000)));
您可以使用真正的假客户端,但让它与虚拟服务器通信 Wiremock是一个简单的虚拟服务器,可以在java代码中启动,也可以作为独立的java主类启动: 一旦启动并配置了它,就可以在您的佯装客户端中使用它 一个主要优点是,您还可以立即实现/测试JSON或HTTP映射,因此您可以确保FaignClient的配置也正确。您甚至可以模拟错误或延迟:
WireMock.stubFor(get(urlEqualTo("/somethings")).willReturn(
aResponse()
.withStatus(503)
.withFixedDelay(10_000)));
这回答了你的问题吗?不这篇文章的作者正在谈论测试。我只想再上一门模拟服务课。这能回答你的问题吗?不这篇文章的作者正在谈论测试。我只需要另一个类,它将是mock服务。wiremock可以返回实体吗?wiremock返回HTTP响应。如果您知道实体的编码方式(json或xml),则可以使用.withBodyFile(文件名)或.withBody(字符串)编写自己的响应正文。wiremock可以返回实体吗?wiremock返回HTTP响应。如果您知道实体的编码方式(json或xml),则可以使用.withBodyFile(文件名)或.withBody(字符串)编写自己的响应正文