【问题标题】:Programmatically Run WireMock on a remote Unix Server from JUNIT从 JUNIT 以编程方式在远程 Unix 服务器上运行 WireMock
【发布时间】:2016-08-04 12:29:16
【问题描述】:

首先要感谢 WireMock 团队提供了令人惊叹的模拟解决方案,该解决方案易于使用和集成。

http://wiremock.org/docs/

我有一个具体问题。我在本地机器上的 Junit 测试中运行 WireMock,如下所示。当 WireMock 启动时,它在 8089 端口上运行,如下所示,我可以通过以下链接浏览 URL,非常完美。

http://localhost:8099/xx/xx/invoice/201628JP00006097

@Rule
public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().httpsPort(8089));

wireMockRule.stubFor(get(urlEqualTo("/xx/larxxs/invoice/201627JP00006087"))
        .willReturn(aResponse().withHeader("Content-Type", "text/xml").withBodyFile("K000006087.xml")));

在我的本地机器上托管这个模拟后,我在远程 UNIX 服务器上运行一些批处理作业。然后批处理作业尝试通过 https 链接从 mock 中获取此数据,并且它曾经正常工作。现在远程 UNIX 服务器发生了一些变化,或者我不确定一夜之间发生了什么变化,因为远程 UNIX 机器在尝试从 WireMock 获取数据时抛出错误。虽然 ping 在我的机器上运行以删除 UNIX 机器,反之亦然,但我可以通过本地主机上的浏览器获取数据。

2016-08-03 17:31:50.101 ERROR 19483 --- [main] .w.s.l.s.b.t.OldLarsRestInvoiceGenerator : Exception while getting invoice data from Cybill rest serviceorg.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://10.10.34.238:8089/xx/xx/invoice/201627JP00006087": Connection timed out; nested exception is java.net.ConnectException: Connection timed out

我想问,我们是否可以在远程 UNIX 机器上以编程方式从 Junit 运行 WireMock,以及我们如何做到这一点。就像在@Rule 中一样,我提到它在端口 8089 上运行。我可以在这里也提到主机吗?

我看到我们可以在远程服务器上安装 Jar 文件然后运行它,但是有没有办法以编程方式执行它并在远程服务器上启动 wireMock。

@规则 公共 WireMockRule WireMockRule = 新 WireMockRule(wireMockConfig() .https端口(8089) .host(myUNIXSERVER));

感谢您的帮助!

【问题讨论】:

    标签: java spring junit mocking wiremock


    【解决方案1】:

    我觉得你应该试试下面

    public WireMockRule wireMockRule = new WireMockRule(wireMockConfig().port(8089));
    

    只是因为现在你在嘲笑 https:// 并使用 https://

    【讨论】:

      猜你喜欢
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 2012-02-18
      • 2021-06-06
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多