Grails 2.0 - Обновление контроллера Тестирование и потеря renderArgs и redirectArgs - PullRequest
1 голос
/ 12 марта 2012

Проблема: я обновил Grails 1.3.7 до Grails 2.0.Затем мне пришлось провести рефакторинг тестов моего контроллера, чтобы использовать аннотации: @TestFor (контроллер) и Mock (домен), которые позаботились о многих проблемах.Однако в 1.3.7 были доступны controller.renderArgs и controller.redirectArgs.Похоже, что это больше не так в 2.0, и мне трудно разобраться, как получить данные, предоставленные этими очень удобными переменными.

Похоже, что эти данные не будут предоставлены на основе этой публикации Grails Jira .Последний комментарий в этом посте Джеймса Ланга, который не имеет ответа, является моим точным вопросом:

В тестировании модуля контроллера Grails 2.0, как вы можете получить к renderArgs, таким как action, id, params и т. Д.?

Комментарии Jira содержат только входные данные для получения ответа.redirectUrl

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 15 марта 2012

Спасибо за обновление и ссылку на пост от Graeme.

Нашим решением проблемы было метаклассирование контроллера, чтобы получить доступ к этим переменным.Я создал соответствующие переменные-члены и затем добавил следующий код в настройку модульного теста:

    controller.metaClass.redirect = { Map map ->
        redirectAction = map.action
        redirectID = map.id
        redirectUrl = map.url
    }

    controller.metaClass.render = {Map map ->
        renderView = map.view
        renderModel = map.model
    }
0 голосов
/ 12 марта 2012

На данный момент кажется, что вы не можете. Я видел это сообщение на форуме , где Грэм ответил и упомянул, что примет запрос функции.

...