@SpringBootTest注解中,给出了webEnvironment参数指定了web的environment,该参数的值一共有四个可选值:
- MOCK:此值为默认值,该类型提供一个mock环境,可以和@AutoConfigureMockMvc或@AutoConfigureWebTestClient搭配使用,开启Mock相关的功能。注意此时内嵌的服务(servlet容器)并没有真正启动,也不会监听web服务端口。
- RANDOM_PORT:启动一个真实的web服务,监听一个随机端口。
- DEFINED_PORT:启动一个真实的web服务,监听一个定义好的端口(从application.properties读取)。
- NONE:启动一个非web的ApplicationContext,既不提供mock环境,也不提供真实的web服务。
注:如果当前服务的classpath中没有包含web相关的依赖,spring将启动一个非web的ApplicationContext,此时的webEnvironment就没有什么意义了。