作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个 Grails REST 应用程序,并且我已经使用 Spock 编写了我的功能测试。请注意,这些功能测试仅适用于 REST 服务。
class LoginFunctionalSpec extends Specification {
def setUp() {
// here I want to access grailsApplication.config
}
}
我已经尝试过以下方法:
但它们都没有在我的功能测试中提供 grailsApplication.config。
有什么办法可以实现吗?
@dmahapatro
我没有使用 Geb,因为我正在测试 REST 服务并且不需要浏览器自动化。
正如我在第 1 点中所说,grails 应用程序未被自动注入(inject)。
class LoginFunctionalSpec extends Specification {
def grailsApplication
def setUp() {
def port = grailsApplication.config.mongo.port //throws NPE
}
}
它抛出一个 NPE,表示正在对空对象调用配置属性。
最佳答案
我认为你不需要明确地注入(inject)任何东西。 grailsApplication
默认情况下在测试中可用。
class LoginFunctionalSpec extends Specification {
def setUp() {
grailsApplication.config.blah //should work
}
}
注意-
Spock 不提供对功能测试的直接支持。您需要使用 Geb进行适当的功能测试。
关于grails - 如何在功能测试中访问 grailsApplication 和 ApplicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18614893/
我是一名优秀的程序员,十分优秀!