@WebAppConfiguration

@WebAppConfiguration 是一个可以应用于测试类的注解,它声明为集成测试加载的 ApplicationContext 应该是一个 WebApplicationContext。测试类上 @WebAppConfiguration 的存在 确保为测试加载 WebApplicationContext,使用 "file:src/main/webapp" 的默认值作为 Web 应用程序根目录(即资源基本路径)的路径。资源基本路径在幕后用于创建 MockServletContext,它作为测试的 WebApplicationContextServletContext

以下示例展示了如何使用 @WebAppConfiguration 注解:

Java
@ContextConfiguration
@WebAppConfiguration [id="CO1-1"][id="CO1-1"][id="CO1-1"](1)
class WebAppTests {
	// class body...
}
<1>  `@WebAppConfiguration` 注解。
Kotlin
@ContextConfiguration
@WebAppConfiguration [id="CO2-1"][id="CO1-2"][id="CO2-1"](1)
class WebAppTests {
	// class body...
}
<1>  `@WebAppConfiguration` 注解。

要覆盖默认值,您可以使用隐式 value 属性指定不同的基本资源路径。同时支持 classpath:file: 资源前缀。 如果没有提供资源前缀,则假定路径是文件系统资源。以下示例显示了如何指定类路径资源:

Java
@ContextConfiguration
@WebAppConfiguration("classpath:test-web-resources") [id="CO3-1"][id="CO1-3"][id="CO3-1"](1)
class WebAppTests {
	// class body...
}
<1>  指定类路径资源。
Kotlin
@ContextConfiguration
@WebAppConfiguration("classpath:test-web-resources") [id="CO4-1"][id="CO1-4"][id="CO4-1"](1)
class WebAppTests {
	// class body...
}
<1>  指定类路径资源。

请注意,@WebAppConfiguration 必须与 @ContextConfiguration 结合使用,无论是在单个测试类中还是在测试类层次结构中。 有关更多详细信息,请参阅 @WebAppConfiguration javadoc。