Test wiosennego rozruchu nie informuje ServletWebServerApplicationContext o niepowodzeniu uruchomienia z powodu braku ServletWebServerFactory Boba
Klasa testu: -
@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****************************************************");
}}
Widziałem ten sam problem
tutaj
https://coderoad.ru/46463908/
ale nic mi nie pomogło. Czy mogę wiedzieć, czego mi brakuje?
Mam
spring-boot-starter-tomcatjako zależność czasu kompilacji w hierarchii zależności.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
4 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Musisz skonfigurować co najmniej 1 komponent bean ServletWebServerFactory w ApplicationContext
więc jeśli masz już spring-boot-starter-tomcat
musisz albo automatycznie skonfigurować ten bean, albo zrobić to ręcznie
.
Tak więc w teście są tylko 2 klasy konfiguracyjne do ładowania applicationContext, to jest = {WebsocketSourceConfiguration.class, WebSocketSourceIntegrationTests.class}, to przynajmniej jedna z tych klas musi mieć metodę @Bean, która zwraca instancję wymaganej ServletWebServerFactory .
* SOLUTION
*
Upewnij się, że załadowałeś wszystkie komponenty do swojej klasy config
LUB umożliwia również automatycznej konfiguracji wykonywanie skanów ścieżek klas i autokonfigurację tych składników.
Można to również zrobić w klasie testu integracji.
Więcej informacji można znaleźć w dokumentacji
przez
Adnotacje SpringBootTest
https://docs.spring.io/spring- boot/docs/current/api/org/springframework/boot/test/context/SpringBootTest.html
https://docs.spring.io/spring- ... .html
Anonimowy użytkownik
Potwierdzenie od:
2.0.5.RELEASE
rok napotkałem podobny problem, gdy miałem następujące.
Zmiana pakietu inicjującego z na rozwiązała problem.
Anonimowy użytkownik
Potwierdzenie od:
lub używając argumentu programu
Anonimowy użytkownik
Potwierdzenie od:
W przypadku aplikacji internetowych rozszerzenie w klasie głównej.
>