Java基础学习总结(130)——使用WebSocket导致jUnit单元测试报No suitable default RequestUpgradeStrategy found错误的解决方法

若在SpringMVC项目中使用了WebSocket,在运行jUnit单元测试时,可能会报如下错误:

Caused by: java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found

若出现上述异常,在Maven的pom.xml中添加如下依赖,问题即可解决:

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>7.0.52</version>
<scope>test</scope>
</dependency>

异常详情如下截图所示:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
这个错误是因为在进行 WebSocket 通信协议升级时,没有找到适合的默认请求升级策略,可能是因为你的应用程序缺少必要的依赖项或配置不正确。 你可以尝试以下解决方案: 1. 确认你的应用程序依赖项中是否包含 WebSocket 相关的库,例如 Spring WebSocket 或 Jetty WebSocket。 2. 确认你的 WebSocket 配置是否正确,例如是否正确配置了 WebSocketEndpointExporter。 3. 如果你正在使用 Spring Boot,可以尝试添加以下配置: ``` @Configuration public class WebSocketConfig { @Bean public WebSocketHandlerAdapter handlerAdapter() { return new WebSocketHandlerAdapter(); } @Bean public WebSocketConfigurer webSocketConfigurer() { return new WebSocketConfigurer() { @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(yourWebSocketHandler(), "/your-websocket-path") .setAllowedOrigins("*") .addInterceptors(new HandshakeInterceptor() { @Override public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception { // do something before handshake return true; } @Override public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception ex) { // do something after handshake } }); } }; } @Bean public WebSocketHandler yourWebSocketHandler() { return new YourWebSocketHandler(); } } ``` 这个配置将会注册一个 WebSocket 处理器,并且设置允许跨域访问,你可以将 `your-websocket-path` 替换成你想要的路径,将 `YourWebSocketHandler` 替换成你自己的 WebSocket 处理器类。 希望这些解决方案能够帮助你解决问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科技D人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值