Springboot在@SpringBootTest环境下进行单元测试时让环境真实生成server,以便获取服务器端口等信息

使用@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环境(模拟或其他)。

例如 

获取服务器端口信息的类

Springboot在@SpringBootTest环境下进行单元测试时让环境真实生成server,以便获取服务器端口等信息_第1张图片

 

注入并使用

Springboot在@SpringBootTest环境下进行单元测试时让环境真实生成server,以便获取服务器端口等信息_第2张图片

打印端口的语句

Springboot在@SpringBootTest环境下进行单元测试时让环境真实生成server,以便获取服务器端口等信息_第3张图片

打印结果

 

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

你可能感兴趣的:(Springboot使用笔记)