Я работаю над написанием модульных тестов для реализации WebSocket в Springboot без STOMP и SockJs. Основные функции работают нормально, когда я тестирую их вручную.
Но следующий пример модульного теста не удался, когда я пытался.
@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?
Есть ли что-то, что я здесь упускаю?