Я пытаюсь протестировать фильтр в Grails 2.2.1, который хранит значение в глобальном объекте session
в любое время, когда кто-то удаляет любой URL-адрес моего приложения. Вот что я придумал, благодаря 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» session в тесте интеграции?
Вот кому-то disccusion этого: https: //www.evernote.com/shard/ s209/sh/e2d21b27-2f4a-409a-891b-400e71a3236a/4b2dda3166be76a67bc070bffd49f5d3 –
Удивительный! Спасибо, что поделились этой ссылкой. – bonh