【问题标题】:Grails 2 - Using external configuration in testsGrails 2 - 在测试中使用外部配置
【发布时间】:2015-11-27 07:32:52
【问题描述】:
在我的单元测试和集成测试中,我无法从 grails-app/conf/Config.groovy 访问配置属性。
grailsApplication.config 对象中不存在这些属性
使用 Grails 2.5.1 和 IntelliJ IDEA 14
使用 Grails 2 配置单元测试和集成测试的最佳实践是什么?
【问题讨论】:
标签:
unit-testing
grails
grails-2.0
integration-testing
【解决方案1】:
对于单元测试:
这是正常行为,因为这是一个外部依赖项,您不应该依赖它,而应该将其存根。 UnitTestMixin 在您的单元测试中提供了一个config 变量,您可以使用它来存根值,即config.myValue = xx
对于集成测试:grailsApplication.config(只需在您的测试中注入 grailsApplication)应该可以像往常一样访问。您可以更改配置值,但不要忘记在测试后清理(即恢复到原始值)。
【解决方案2】:
解决方案 1:
IntelliJ > 文件菜单 > 项目结构 > 模块
将 grails-app/conf 文件夹添加到 Test Source Folders
解决方案 2:
为运行测试创建一个单独的配置文件。
在 test/unit 文件夹中放置一个 Config.groovy 文件,在 test/integration 文件夹中放置另一个 Config.groovy 文件。
属性将被加载到 grailsApplication.config 对象