web-dev-qa-db-fra.com

Le test de démarrage du printemps échoue en indiquant: Impossible de démarrer ServletWebServerApplicationContext en raison du bean ServletWebServerFactory manquant.

Classe d'essai: -

@RunWith(SpringRunner.class)
@SpringBootTest(classes = { WebsocketSourceConfiguration.class,
        WebSocketSourceIntegrationTests.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = {
                "websocket.path=/some_websocket_path", "websocket.allowedOrigins=*",
                "spring.cloud.stream.default-binder=kafka" })
public class WebSocketSourceIntegrationTests {

    private String port = "8080";

    @Test
    public void testWebSocketStreamSource() throws IOException, InterruptedException {
        StandardWebSocketClient webSocketClient = new StandardWebSocketClient();
        ClientWebSocketContainer clientWebSocketContainer = new ClientWebSocketContainer(webSocketClient,
                "ws://localhost:" + port + "/some_websocket_path");
        clientWebSocketContainer.start();
        WebSocketSession session = clientWebSocketContainer.getSession(null);
        session.sendMessage(new TextMessage("foo"));
        System.out.println("Done****************************************************");
    }

}

J'ai vu le même problème ici mais rien ne m'a aidé. Puis-je savoir ce que je manque?

J'ai spring-boot-starter-Tomcat comme dépendance au moment de la compilation dans la hiérarchie des dépendances.

10
Krishas

in 2.0.5.RELEASE i a été confronté à un problème similaire lorsque j’ai eu le problème suivant.

package radon;
..
@SpringBootApplication
public class Initializer {
    public static void main(String[] args) {
        SpringApplication.run(Config.class, args);
    }
}

package radon.app.config;
@Configuration
@ComponentScan({ "radon.app" })
public class Config {
    ..
}

La modification du package de Initializer de radon à radon.app a résolu le problème.

0
Anand Rockzz