Я написал код подключения веб-сокета в Springboot.
...
@Component
public class Handler extends TextWebSocketHandler {
List<WebSocketSession> sessions = new CopyOnWriteArrayList<>();
@Override
public void handleTextMessage(WebSocketSession session, TextMessage message) throws
InterruptedException, IOException {
for (WebSocketSession webSocketSession : sessions) {
if (webSocketSession.isOpen() && !session.getId().equals(webSocketSession.getId())) {
webSocketSession.sendMessage(message);
}
}
}
...
И написал для него модульный тест
...
@RunWith(MockitoJunitRunner.class)
public class HandlerTest {
@Test
public void verifyCallToIsOpenConnection() {
WebSocketSession session = mock(WebSocketSession.class);
TextMessage textMsg = new TextMessage("Test Message".getBytes());
Handler handler = new Handler();
// Pass the mocked session object here
Handler.handleTextMessage(session, textMsg);
// Now you can verify if session.sendMessage() was called or not
verify(session, times(1)).sendMessage(textMsg);
}
}
...
но получаю эту ошибку
...
Wanted but not invoked:
webSocketSession.sendMessage(
TextMessage payload=[Test Messa..], byteCount=12, last=true]
);
-> at com.cerner.devacademy.HandlerTest.verifyConnection(HandlerTest.java:50)
Actually, there were zero interactions with this mock.
...
Я пробовал несколько способов решить эту проблему, но ни один не работает. Пожалуйста, помогите решить эту проблему.