微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在集成测试中将应用注册到 Eureka 服务器

如何解决在集成测试中将应用注册到 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 举报,一经查实,本站将立刻删除。