【问题标题】:Stub WebSocket server in JavaJava 中的 Stub WebSocket 服务器
【发布时间】:2021-04-11 16:42:53
【问题描述】:

我想要实现的是测试一些背后有网络套接字通信的逻辑。

我最近实现了 WebSocket 客户端端点,我想像 http 与 WireMock 的集成一样对其进行测试 - 以声明方式指定预期来自外部 WebSocket 服务器的 Web 套接字消息。

预期的库/API:

//      SomeLibrary is configured properly

    SomeLibrary.stubSocketMessage(forSession(idFromString("Some session id.")))
        .respondTo("Message sent from service with web socket client endpoint.")
        .withText("Response from web socket server stub.")
        .withDelay(500);

//        calling my logic that uses WS / sends message
//        assertions

我找不到这样的库,因此我只是在我的测试包中实现了嵌入式 websocket 服务器。单会话场景就足够了。

总结一下:我的服务层某处有一个 websocket 连接,我想用 MockMvc 编写端到端测试。我想要一些预定义的 WS 模拟行为,所以我需要一个嵌入式 http/ws 服务器并指定其 WS 服务器端点的行为。

我想要实现的目标有解决方案吗? 写这样的测试有意义吗?如果不是,为什么?

【问题讨论】:

    标签: java websocket integration stub stubby4j


    【解决方案1】:

    @patrolfr,

    我将尝试回答您的部分问题:是否有解决方案。

    您可以查看https://stubby4j.com 存根服务器。它支持通过 HTTP/1.1、HTTP/2 和 WebSockets 协议对外部系统进行存根。该库使用基于 YAML 的配置来描述存根服务器行为。

    更多关于 WebSockets 协议的信息,请查看文档:https://stubby4j.com/docs/websockets_configuration_howto.html

    完全披露:我是该项目的提交者。

    【讨论】:

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