Java >> Java Program >  >> Tag >> Spring

Spring boot Test misslyckas och säger, Det går inte att starta ServletWebServerApplicationContext på grund av att ServletWebServerFactory-bönan saknas

Det här meddelandet säger:Du måste konfigurera minst 1 ServletWebServerFactory-böna i ApplicationContext , så om du redan har spring-boot-starter-tomcat dumåste du antingen autokonfigurera bönan eller göra det manuellt .

Så, i testet finns det bara 2 konfigurationsklasser för att ladda applicationContext, dessa är ={ WebsocketSourceConfiguration.class, WebSocketSourceIntegrationTests.class }, då bör åtminstone en av dessa klasser finnas en @Bean-metod som returnerar en instans av den önskade ServletWebServerFactory.

* LÖSNING *

Se till att ladda alla bönor inom din konfigurationsklass

WebsocketSourceConfiguration {
  @Bean 
  ServletWebServerFactory servletWebServerFactory(){
  return new TomcatServletWebServerFactory();
  }
}

ELLER aktivera även AutoConfiguration för att göra en klassvägsskanning och automatisk konfiguration av dessa bönor.

@EnableAutoConfiguration
WebsocketSourceConfiguration

Kan även göras på Integrationstest-klassen.

@EnableAutoConfiguration
WebSocketSourceIntegrationTests

Läs SpringBootTest för mer information annotationsdokumentationhttps://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/test/context/SpringBootTest.html


Java-tagg