簡體   English   中英

Java 中的存根 WebSocket 服務器

[英]Stub WebSocket server in Java

我想要實現的是測試一些背后有 web 套接字通信的邏輯。

I have recently implemented WebSocket client endpoint and I wanted to test it like http integrations with WireMock - declaratively specifying web socket messages that are expected from external WebSocket server.

預期的庫/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 服務器。 對於單個 session 場景來說已經足夠了。

總結一下:我的服務層某處有一個 websocket 連接,我想用 MockMvc 編寫端到端測試。 我想要一些預定義的 WS 模擬行為,所以我需要一個嵌入式 http/ws 服務器並指定其 WS 服務器端點的行為。

我想要實現的目標有解決方案嗎? 寫這樣的測試有意義嗎? 如果不是,為什么?

@patrolfr,

我將嘗試回答您的部分問題:是否有解決方案。

您可以查看https://github.com/azagniotov/stubby4j存根服務器。 它支持通過 HTTP/1.1、HTTP/2 和 WebSockets 協議對外部系統進行存根。 該庫使用基於 YAML 的配置來描述存根服務器行為。

更具體地說,關於 WebSockets 協議,請查看文檔: https://github.com/azagniotov/stubby4j/blob/master/docs/WEBSOCKETS_CONFIGURATION_HOWTO.md

完全披露:我是該項目的提交者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM