1
我试图在Grails 2.2.1中测试过滤器,该过滤器在任何时候有人在我的应用程序中点击任何URL时将值存储在全局对象session
中。以下是我想出了,这要归功于this fine post:在集成测试期间未设置Grails会话对象属性
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'会话对象属性?
这里的那某人disccusion:HTTPS://www.evernote.com/shard/ s209/sh/e2d21b27-2f4a-409a-891b-400e71a3236a/4b2dda3166be76a67bc070bffd49f5d3 –
太棒了!感谢您分享该链接。 – bonh