【发布时间】:2013-09-04 13:14:39
【问题描述】:
我正在构建一个 Grails REST 应用程序,并且我已经使用 Spock 编写了我的功能测试。 请注意,这些功能测试仅适用于 REST 服务。
class LoginFunctionalSpec extends Specification {
def setUp() {
// here I want to access grailsApplication.config
}
}
我已经尝试了以下方法:
- 注入 grailsApplication(通过定义为类级别变量),但没有注入任何内容。
- 使用 ApplicationHolder.application.config 但它已被弃用,建议的方法是前一点。
- 尝试使用插件远程控制:1.4,但尽管 grails 控制台显示插件已安装,但我没有找到 RemoteControl 类。我也不确定这种方法
- 我尝试将 grails-app/conf/Config.groovy 作为文件读取(如 here 所述),但得到了 FileNotFoundException。
但它们都没有在我的功能测试中提供 grailsApplication.config。
有什么办法可以做到吗?
更新
@dmahapatro
我没有使用 Geb,因为我正在测试 REST 服务并且不需要浏览器自动化。
正如我在第 1 点所说的 grails 应用程序没有被自动注入。
class LoginFunctionalSpec extends Specification {
def grailsApplication
def setUp() {
def port = grailsApplication.config.mongo.port //throws NPE
}
}
它抛出一个 NPE 说正在对空对象调用配置属性。
【问题讨论】:
标签: grails functional-testing spock applicationcontext grails-config