当前位置: 首页 > 知识库问答 >
问题:

使用电线时连接被拒绝

华良平
2023-03-14

我在Junit中有这段代码,我清楚地将端口设置为8888

when(clientUtils.getLinkUrl(eq(HOSTELS_MICROSERVICE.name()), eq(HOSTELS_MICROSERVICE.name()), anyMap()))
                .thenReturn("http://localhost:8888/HOSTELS/HOSTELSMethods");

stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn(
                aResponse().withStatus(200)
                        .withHeader("Content-Type", APPLICATION_JSON_VALUE)
                        .withBody(ResourceUtils.getResourceFileAsString ("__files/HOSTELS.json"))));

但是当我运行测试时,我在这条线上得到了这个错误:

stubFor(com.github.tomakehurst.wiremock.client.WireMock.get("/HOSTELS/HOSTELS_LIST").willReturn(..

和错误:

wiremock.org.apache.http.conn.HttpHostConnectException: Connect to localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect

共有2个答案

杜志
2023-03-14

发布我之前的评论作为回答,因为它似乎帮助了一些人。谢谢@jmrah.:)

对于Kotlin和JUnit5,这可以通过将实际的< code>WireMockServer实例添加到< code>stubFor或< code>verify方法调用来解决。

wireMockServer.stubFor()

或者

wireMockServer.verify()

添加此项后,测试应该可以正常工作。

岳出野
2023-03-14

基于线船文档

在测试中使用WireMock有三种可能性:

  1. 如果使用Wiremock as JUnit 4规则配置端口,请使用:
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig;

...

@Rule
public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8888));
import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;

...

public class Test {

    WireMockServer wm;

    @BeforeEach
    void setUp() {
        wm = new WireMockServer(options().port(8888));
        wm.start();
    }

    @Test
    void test() {
        wm.stubFor(...);
    }
}
WireMock.configureFor(8888);

如果您正在使用kotlin,您可以将实际的wiremock实例添加stubFor验证wm之类的调用中。stubFor()并像本答案的选项3中那样配置端口。

 类似资料:
  • 我正在尝试运行卡桑德拉,但每次它在连接时都会给出相同的错误...有什么我需要在配置文件或属性文件中编辑的吗? ('无法连接到任何服务器',{'127.0.0.1:9042 ':错误(61,"尝试连接到[('127.0.0.1 ',9042)]。最后一个错误:连接被拒绝")}) 启动cassandra时出错

  • 我试图连接到mysql数据库使用hibernate从cfg文件作为 虽然我的连接字符串、用户名、密码是正确的,并且在其他具有基本jdbc连接的项目中运行良好,但当我使用hibernate尝试它时,我在控制台上遇到了这个错误 是的,数据库服务器已启动并运行,但来自此Hibernate应用程序的连接被拒绝

  • 我已经尝试以各种可能的方式连接到aws rds,当使用序列化时,我收到了一个连接拒绝错误,所以我想知道是否有一个设置我需要在连接时设置或包含。代码在我的本地机器上工作,如果我推送到heroku,但是我需要为这个项目使用aws实例。 我使用sequelize CLI生成一个index.js文件,其代码如下: 正如您所看到的,config变量正在做它的事情,我已经确保设置了env变量。我已经三次检查了

  • 我试图通过Jedis客户端连接到redis服务器,但在连接时我得到了以下异常和堆栈跟踪- redisconnectionFailureException:无法获得Jedis连接;嵌套异常是redis.clients.jedis.exceptions.jedisconnectionException:无法从位于org.springframework.data.redis.connection.jed

  • 试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常 我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose

  • 我已经在Google VM实例(Ubuntu-16.04)中安装了elasticsearch和kibana,并分别进行了配置。我已经检查了elasticsearch和kibana的状态。两者都处于活动(运行状态)。 我已经使用curl-XGET“{ip addr}:9200”命令查看了elasticsearch。输出是 当我试图用curl-XGET“{ip addr}:5601”查看kibana时