一、報(bào)錯(cuò)內(nèi)容
在SpringBoot項(xiàng)目中集成了WebSocket,在進(jìn)行單元測試的時(shí)候,出現(xiàn)了以下錯(cuò)誤:
Caused by: java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
at org.springframework.util.Assert.state(Assert.java:76)
at org.springframework.web.socket.server.standard.ServerEndpointExporter.afterPropertiesSet(ServerEndpointExporter.java:107)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)
二、報(bào)錯(cuò)說明
代碼中使用了POM文件spring-boot-starter-websocket,用于統(tǒng)計(jì)實(shí)時(shí)人數(shù)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>1.5.10.RELEASE</version>
</dependency>
單元測試類的原注解是這樣的:
@RunWith(SpringRunner.class)
@SpringBootTest
經(jīng)查閱資料,得知SpringBootTest在啟動(dòng)的時(shí)候不會(huì)啟動(dòng)服務(wù)器,所以WebSocket自然會(huì)報(bào)錯(cuò)文章來源:http://www.zghlxwxcb.cn/news/detail-764225.html
三、報(bào)錯(cuò)解決
這個(gè)時(shí)候需要添加選項(xiàng)webEnvironment,以便提供一個(gè)測試的web環(huán)境。
如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-764225.html
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class FeishuUtilTest {
@Autowired
private FeiShuService feiShuService;
@Autowired
private UserMapper userMapper;
到了這里,關(guān)于【異?!縄DEA中執(zhí)行單元測試后提示IllegalStateException: javax.websocket.server.ServerContainer not available的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!