如何访问来自另一个进程的Java代码中启动的Wiremock服务器

时间:2019-04-01 21:29:42

标签: java wiremock

我是Wiremock的新手。

我想在基于JUnit的测试中使用它,以编程方式启动模拟服务器并从其他Java进程访问它。 (测试自动化项目和被测应用程序在不同的进程中运行)

@Test
public void test() {
    WireMockServer wireMockServer = new WireMockServer(wireMockConfig().bindAddress("localhost").port(8089));
    wireMockServer.start();
    System.out.println("==>");
    RestAssured.get("http://localhost:8089/__admin")
       .then().statusCode(200);
    wireMockServer.stop();
}

这段代码可以正常工作。启动Wiremock之后,当我获取该URL(http://localhost:8089/__admin)时,得到200。

但是,让我们说被测试的应用程序是在另一个进程中运行的,我想将此Junit测试的wiremock实例提供给它。 Wiremock服务器“似乎”忽略了该请求。

您可以通过在“ System.out.println(” ==>“)”行中放置一个断点并打开指向“ http://localhost:8089/__admin”的浏览器来模拟此情况。您将永远不会得到回应。我觉得请求永远不会到达Wiremock服务器。

这应该可行吗? 你知道我为什么做错了吗? (我也尝试使用@Rule批注)

非常感谢!

0 个答案:

没有答案