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