【发布时间】:2013-04-18 21:03:38
【问题描述】:
我正在尝试在 Grails 2.2.1 中测试一个过滤器,只要有人在我的应用程序中点击任何 URL,它就会在全局 session 对象中存储一个值。这是我想出的,感谢this fine post:
package drummer
class SessionExpirationFilters {
def filters = {
all(controller: '*', action: '*') {
before = {
session.foo = 'bar'
}
}
}
}
我可以通过在控制器方法中输出session.foo 看到过滤器工作,但集成测试失败:
package drummer
import grails.plugin.spock.IntegrationSpec
class QuestionControllerIntegrationSpec extends IntegrationSpec {
def 'filter sets session foo to bar'() {
given:
def controller = new QuestionController()
when:
controller.list()
then:
assert 'bar' == controller.session.foo // fails, session.foo is null
}
}
那么为什么集成测试中没有设置“foo”会话对象属性?
【问题讨论】:
-
太棒了!感谢您分享该链接。