使用 Groovy 脚本进行上下文配置
要使用使用 Groovy Bean 定义 DSL 的 Groovy 脚本为测试加载 ApplicationContext,你可以使用 @ContextConfiguration 标注你的测试类,并使用包含 Groovy 脚本资源位置的数组配置 locations 或 value 属性。Groovy 脚本的资源查找语义与 XML 配置文件 中描述的相同。
|
启用 Groovy 脚本支持
如果类路径中有 Groovy,Infra TestContext 框架会自动启用使用 Groovy 脚本加载 ApplicationContext 的支持。
|
以下示例显示了如何指定 Groovy 配置文件:
@ExtendWith(InfraExtension.class)
// ApplicationContext 将从类路径根目录下的 "/AppConfig.groovy" 和
// "/TestConfig.groovy" 加载
@ContextConfiguration({"/AppConfig.groovy", "/TestConfig.Groovy"}) (1)
class MyTest {
// 类主体...
}
| 1 | 指定 Groovy 配置文件的位置。 |
如果你从 @ContextConfiguration 注解中省略了 locations 和 value 属性,TestContext 框架会尝试检测默认的 Groovy 脚本。具体来说,GenericGroovyXmlContextLoader 和 GenericGroovyXmlWebContextLoader 基于测试类的名称检测默认位置。如果你的类名为 com.example.MyTest,Groovy 上下文加载器将从 "classpath:com/example/MyTestContext.groovy" 加载你的应用程序上下文。以下示例显示了如何使用默认值:
@ExtendWith(InfraExtension.class)
// ApplicationContext 将从
// "classpath:com/example/MyTestContext.groovy" 加载
@ContextConfiguration (1)
class MyTest {
// 类主体...
}
| 1 | 从默认位置加载配置。 |
|
同时声明 XML 配置和 Groovy 脚本
你可以通过使用 以下清单显示了如何在集成测试中结合使用两者:
|