在 SpringBoot 项目中集成了 WebSocket,当进行 SpringBoot 单元测试时报错:
javax.websocket.server.ServerContainer not available
报错的方法是:
@Bean
public ServerEndpointExporter serverEndpointExporter(){
return new ServerEndpointExporter();
}
报错的方法的主要作用是:用于扫描带有 @ServerEndpoint 的注解成为 websocket
,该方法是 服务器端点出口,当进行 SpringBoot 单元测试时,并没有启动服务器,所以当加载到这个bean时会报错。
为 SpringBoot 单元测试提供一个测试环境,在注解中添加webEnvironment,给wevsocket提供测试环境:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)