Context Configuration with Groovy Scripts
使用基于Groovy Bean Definition DSL的Groovy脚本载入`ApplicationContext`测试时,可以通过`@ContextConfiguration`注解测试类并在`locations`或`value`属性中配置一个包含Groovy脚本资源位置的数组。Groovy脚本的资源查找语义与XML configuration files所述的相同。
Enabling Groovy script support
如果 Groovy 在类加载路径上,则自动启用使用 Groovy 脚本加载 |
以下示例显示如何指定 Groovy 配置文件:
- Java
-
@ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from "/AppConfig.groovy" and // "/TestConfig.groovy" in the root of the classpath @ContextConfiguration({"/AppConfig.groovy", "/TestConfig.Groovy"}) 1 class MyTest { // class body... }
1 | 指定 Groovy 配置文件的位置。
|
2 | 指定 Groovy 配置文件的位置。 |
如果您从 @ContextConfiguration
标注中省略 locations
和 value
属性,TestContext 框架将尝试检测一个默认 Groovy 脚本。具体来说,GenericGroovyXmlContextLoader
和 GenericGroovyXmlWebContextLoader
根据测试类的名称检测一个默认位置。如果您的类被命名为 com.example.MyTest
,则 Groovy 上下文加载器将从 "classpath:com/example/MyTestContext.groovy"
加载您的应用程序上下文。以下示例显示如何使用默认值:
- Java
-
@ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from // "classpath:com/example/MyTestContext.groovy" @ContextConfiguration (1) class MyTest { // class body... }
1 | 从默认位置加载配置。
|
2 | 从默认位置加载配置。 |
Declaring XML configuration and Groovy scripts simultaneously
您可以通过使用 |
- Java
-
@ExtendWith(SpringExtension.class) // ApplicationContext will be loaded from // "/app-config.xml" and "/TestConfig.groovy" @ContextConfiguration({ "/app-config.xml", "/TestConfig.groovy" }) class MyTest { // class body... }
- Kotlin
-
@ExtendWith(SpringExtension::class) // ApplicationContext will be loaded from // "/app-config.xml" and "/TestConfig.groovy" @ContextConfiguration("/app-config.xml", "/TestConfig.groovy") class MyTest { // class body... }