在非测试设置中进行Wiremock

时间:2013-10-29 10:51:04

标签: java web-services http testing mocking

我想测试一个将调用重定向到另一个服务的代理,我正在尝试模拟目标服务。为此,我想使用wiremock,但使用它的类将是一个独立的类,没有测试。

我知道我可以将WireMockServer用于此目的,但我找不到一个关于如何以编程方式将处理程序挂钩到该服务器的示例。

我班上的一个例子是:

public class MockedService {

    WireMockServer wireMockServer;

    public MockedService(int port) {
        wireMockServer = new WireMockServer(port);

    get(urlMatching("/process/?param1=.*&param2=.*"))
        .willReturn(aResponse()
        .withBody(GenericMediaResponse.RESPONSE_OK.toJSONString()));
    }

    public int getPort() {
        return port;
    }   
}

但我又不知道如何将get请求挂钩到服务器。感谢。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。在深入挖掘源代码之后,您需要做以下事情: 您需要在存根之前执行此语句:

WireMock.configureFor("localhost",port);

这将设置默认实例以绑定到给定的主机和端口。

希望这有帮助。