В настоящее время я экспериментирую с поддержкой WebSockets, добавленной в Spring 4.0, как описано в this guide. Как показано в руководстве, методы, аннотированные @MessageMapping
, могут быть добавлены к любому контроллеру Spring MVC, который также может содержать методы @RequestMapping
.Тестирование @MessageMapping Методы WebSocket контроллеров Spring MVC
Пружинных тестовый модуль имеет поддержку написания тестов интеграции для @RequestMapping
методов (как описано) в очень простом и жидкости способа:
@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"));
}
Есть ли подобная поддержка для тестирования @MessageMapping
методов с использованием WebSockets? Я ничего не нашел в любом из модулей Spring, и ни один из руководств WebSocket не содержит никаких тестов. Если нет, мне нужно будет фактически развернуть приложение и использовать WebSocketConnectionManager
для подключения тестового клиента? Или есть какой-то API, который я могу использовать на основе весеннего теста?
This sample project содержит такой небольшой тестовый клиент, но я бы предпочел интегрировать его в фактические тесты, не требуя от меня развертывания приложения и жесткого кодирования развернутого пути в тестах.