在没有STOMP和SockJs的情况下在Springboot中测试Websocket

时间:2019-01-25 05:33:50

标签: java spring-boot junit websocket spring-websocket

我正在为没有STOMP和SockJs的Springboot编写WebSocket实现的单元测试用例。手动测试时,基本功能正常运行。

但是当我尝试以下单元测试用例时失败了。

@Test
public void test() throws Exception {
    ResultActions resultActions = mvc.perform(MockMvcRequestBuilders.request(HttpMethod.GET,
            new URI("ws://localhost:8080" + WEBSOCKET_ENDPOINT))
            .header("Connection", "Upgrade")
            .header("Upgrade", "websocket")
            .header("Sec-WebSocket-Version", "13")
            .header("Sec-WebSocket-Key", "some_key"));
    resultActions.andExpect(status().isOk());
}

在运行此测试用例时出现以下错误。

  

org.springframework.web.util.NestedServletException:请求处理失败;嵌套的异常是org.springframework.web.socket.server.HandshakeFailureException:

     

请求ws:// localhost / websockets未捕获失败;

     

嵌套的异常是java.lang.IllegalArgumentException:没有'javax.websocket.server.ServerContainer'ServletContext属性。您是否在支持JSR-356的Servlet容器中运行?

我这里缺少什么吗?

0 个答案:

没有答案