小编FrV*_*ura的帖子

在测试内运行时,WireMock 始终返回 Connection Refused

当我使用 testng v7.0.0 在 Cucumber 中配置 WireMockServer 时遇到问题(我认为这与这里无关)。我想调用我自己的服务,它本身需要url我定义的服务。

当我尝试像这样调用时:

@When("the service is called")
public void theServiceIsCalled() {
    wireMockServer = new WireMockServer(options().port(PORT_NUMBER));
    wireMockServer.start();
    configureFor("127.0.0.1", wireMockServer.port());
    stubFor(get(urlEqualTo(url))
                .willReturn(aResponse()
                        .withStatus(HTTPOK)
                        .withHeader("Content-Type", "application/json")
                        .withBody(response)));
    myService.callService();
}
Run Code Online (Sandbox Code Playgroud)

我总是得到

java.util.concurrent.CompletionException:javax.ws.rs.ProcessingException:org.apache.http.conn.HttpHostConnectException:连接到127.0.0.1:9090 [/127.0.0.1]失败:连接被拒绝

我知道这不可能是错误定义的问题porturl或标题。我这样说是因为当我使用完全相同的 WireMock 配置(没有服务调用)运行 java 实例,然后测试时,它运行顺利,服务实际上返回了我模拟的内容。看起来 WireMockServer 生命周期必须驻留在我想要的进程之外的进程中。

这是怎么回事?

提前致谢 ;)

java testng cucumber wiremock

2
推荐指数
1
解决办法
7761
查看次数

标签 统计

cucumber ×1

java ×1

testng ×1

wiremock ×1