解决:javax.websocket.server.ServerContainer not available 报错问题

梁楷
2023-12-01

1、问题描述

在 SpringBoot 项目中集成了 WebSocket,当进行 SpringBoot 单元测试时报错:

javax.websocket.server.ServerContainer not available

报错的方法是:

 @Bean
    public ServerEndpointExporter serverEndpointExporter(){
        return new ServerEndpointExporter();
    }

2、产生原因

报错的方法的主要作用是:用于扫描带有 @ServerEndpoint 的注解成为 websocket,该方法是 服务器端点出口,当进行 SpringBoot 单元测试时,并没有启动服务器,所以当加载到这个bean时会报错。

3、解决方法

为 SpringBoot 单元测试提供一个测试环境,在注解中添加webEnvironment,给wevsocket提供测试环境:


@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

 类似资料: