在集成测试中将应用注册到 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 (将#修改为@)