我正在尝试在Spring 4.0中添加对WebSockets的支持,如this guide中所述。如本指南所示,使用@MessageMapping
注释的方法可以添加到任何Spring MVC控制器,它也可能包含@RequestMapping
方法。
spring-test模块支持以非常简单和流畅的方式编写@RequestMapping
方法的集成测试(如here所述):
@Test
public void getAccount() throws Exception {
this.mockMvc.perform(get("/accounts/1").accept(MediaType.parseMediaType("application/json;charset=UTF-8")))
.andExpect(status().isOk())
.andExpect(content().contentType("application/json"))
.andExpect(jsonPath("$.name").value("Lee"));
}
是否有类似的支持使用WebSockets测试@MessageMapping
方法?我没有在任何Spring模块中找到任何内容,也没有任何WebSocket指南包含任何测试。如果没有,我是否需要实际部署应用程序并使用WebSocketConnectionManager
连接测试客户端?或者我是否可以通过spring-test建立一些API?
This sample project包含如此小的测试客户端,但我更愿意将其集成到实际测试中,而无需我在测试中部署应用程序并对已部署的路径进行硬编码。
答案 0 :(得分:5)
对于@MessageMapping方法,还没有像Spring MVC Test那样的东西。但是,即使没有流畅的API,也应该采用类似的测试方法。 JIRA中有一张票(见https://jira.spring.io/browse/SPR-11266)提供文件,因此请在不久的将来观看该票以获取更多详细信息。