使用@SpringBootTestwebEnvironment属性来进一步优化测试的运行方式:

  • MOCK : 加载一个WebApplicationContext并提供一个模拟servlet环境。嵌入式servlet容器在使用此注释时不会启动。如果servlet API不在你的类路径上,这个模式将透明地回退到创建一个常规的非web应用程序上下文。可以与@AutoConfigureMockMvc结合使用,用于基于MockMvc的应用程序测试。
  • RANDOM_PORT : 加载一个EmbeddedWebApplicationContext并提供一个真正的servlet环境。嵌入式servlet容器启动并在随机端口上侦听。
  • DEFINED_PORT : 加载一个EmbeddedWebApplicationContext并提供一个真正的servlet环境。嵌入式servlet容器启动并监听定义的端口(即从application.properties或默认端口8080)。
  • NONE : 使用SpringApplication加载ApplicationContext,但不提供任何servlet环境(模拟或其他)。

例如 

获取服务器端口信息的类

 

注入并使用

打印端口的语句

打印结果

 

参考文章https://my.oschina.net/zjllovecode/blog/1605981

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐