【问题标题】:How to mock a java.net.Socket using wiremock?如何使用wiremock模拟java.net.Socket?
【发布时间】:2016-07-28 08:39:22
【问题描述】:

我需要使用wiremock 技术模拟java.net.Socket 类...是否可以wiremock Socket 类?

【问题讨论】:

    标签: java wiremock


    【解决方案1】:

    即使我有点晚了,但万一这个问题后来有人提出:

    我的情况完全一样。我实现了一个单独的 JUnit @Rule,它启动/停止 ServerSocket 并接受来自测试用例的 Socket 请求。

    我不能与你分享代码,因为它属于公司。但我可以分享 powerslide,它肯定会帮助你实现它。

    在 JUnit 中,您正在使用与给定端口(在我的例子中:9999)建立套接字通信的客户端/服务。套接字的所有 WireMock 响应都以与 HTTP 请求/响应相同的样式编写。使用“any”方法的简化示例:

    WireMock.givenThat(WireMock.anyUrl()).withRequestBody(WireMock.containing("blah blah")).willReturn(WireMock.aResponse().withBody("Hello World!")));
    

    如果您的套接字/客户端发送带有“blah blah”的正文,那么 WireMock 将返回“Hello World!”作为 HTTP Entity,HTTP Entity 的内容通过 Socket Proxy 转发给 socket/client。

    希望对你有帮助, 克里斯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多