spring项目能正常运行,但是单元测试报错
错误原因
注册WebSocket的Bean与spring boot内带tomcat冲突
解决办法
1.注释该类里面的代码(不推荐)
2.@springBootTest注解添加webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
@SpringBootTest注解中,给出了webEnvironment参数指定了web的environment,该参数的值一共有四个可选值:
MOCK:此值为默认值,该类型提供一个mock环境,可以和@AutoConfigureMockMvc或@AutoConfigureWebTestClient搭配使用,开启Mock相关的功能。注意此时内嵌的服务(servlet容器)并没有真正启动,也不会监听web服务端口。
RANDOM_PORT:启动一个真实的web服务,监听一个随机端口。
DEFINED_PORT:启动一个真实的web服务,监听一个定义好的端口(从application.properties读取)。
NONE:启动一个非web的ApplicationContext,既不提供mock环境,也不提供真实的web服务。