Caught exception while allowing TestExecutionListener [org.xx.ServletTestExecutionListener@xx]

springboot测试类启动报错

ERROR org.springframework.test.context.TestContextManager  : Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@2f112965] to prepare test instance [com.greenzone2.GreenZoneIIApplicationTests@6259f18e]

解决方法,添加webEnvironment配置

@RunWith(SpringRunner.class)
@SpringBootTest(classes = GreenZoneIIApplication.class,webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class GreenZoneIIApplicationTests {
  • DEFINED_PORT:创建一个(reactive) web 应用程序上下文,使用默认端口。
  • MOCK:MOCK 是用的比较多的一个属性。它会判断,当你使用 servlet API 时,则使用模拟 servlet 环境创建 WebApplicationContext;如果是使用 WebFlux,则使用 ReactiveWebApplicationContext;否则,使用常规的 ApplicationContext。
  • NONE:不会指定 SpringApplication.setWebApplicationType。以非 Web 环境来运行。也就是非 Servlet 和 Reactive 环境。
  • RANDOM_PORT:创建一个 web 应用程序上下文,可以是 reactive,也可以是 servlet。它将随机起一个端口并监听。到底是 reactive 还是 Servlet,它会自己根据上下文来判断。

你可能感兴趣的:(Java,SpringBoot)