2014-01-07 2 views
2

В настоящее время я экспериментирую с поддержкой 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 содержит такой небольшой тестовый клиент, но я бы предпочел интегрировать его в фактические тесты, не требуя от меня развертывания приложения и жесткого кодирования развернутого пути в тестах.

ответ

4

Нет ничего похожего на Spring MVC Test для методов @MessageMapping. Однако подобный подход к тестированию должен быть возможен даже без свободного API. В JIRA есть билет (см. https://jira.spring.io/browse/SPR-11266), чтобы предоставить документацию, чтобы посмотреть этот билет для получения более подробной информации в ближайшем будущем.

Смежные вопросы