如何解决在集成测试中将应用注册到 Eureka 服务器
我正在根据 this 示例为 eureka 服务器编写集成测试。
我们可以假设对于这个测试,我在 http://localhost:8761/eureka/
上使用了 eureka 服务器。
我目前得到的代码:
@Test
public void testRegistration() {
JerseyEurekaHttpClientFactory httpClientFactory = JerseyEurekaHttpClientFactory.newBuilder()
.withClientName("testEurekaClient")
.build();
String eurekaServiceUrl = "http://localhost:8761/eureka/";
EurekaHttpClient jerseyEurekaClient = httpClientFactory.newClient(new DefaultEndpoint(eurekaServiceUrl));
// I don't kNow how to properly set up InstanceInfo
InstanceInfo instanceInfo = InstanceInfo.Builder.newBuilder().setAppName("testApp").build();
EurekaHttpResponse<Void> httpResponse = jerseyEurekaClient.register(instanceInfo);
assertthat(httpResponse.getStatusCode()).isEqualTo(204);
}
在这个例子中,我得到了响应 400
而不是 204
。因此,我假设由于 InstanceInfo
不足而导致请求创建不佳。
如何为客户端注册手动创建最小InstanceInfo
以及需要在其中包含哪些数据?
或者,如果有另一种方法可以使用“虚拟应用程序”进行 eureka 注册以进行集成测试,那么我将不胜感激任何建议,例如使用 spring 上下文和 bean 进行测试,允许注册/注销,其他一些 eurekaClient 类/库只需简单设置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。