Grails - redirect () с параметрами в интеграционных тестах - PullRequest
1 голос
/ 26 августа 2011

Заранее благодарю за любую предоставленную помощь.У меня есть метод внутри контроллера, который заканчивается классическим перенаправлением, следующим образом:

redirect(action: 'login', params: params)

Я хотел бы проверить это в моем интеграционном тесте.Для части action я делаю следующее:

assert creditProviderController.response.redirectedUrl.startsWith("/creditProvider/login")

Прежде всего, нет ли чище, чтобы избежать вызова startsWith()?А потом, как я могу проверить часть params?

Я смотрю вокруг и не могу найти этот ответ.

Желаю вам приятного дня!

Ответы [ 2 ]

4 голосов
/ 13 мая 2013
assert response.redirectedUrl == '/roleClientProfile/create?user.id=1'
3 голосов
/ 30 августа 2011

Я бы рекомендовал проверить контроллер с помощью unit теста, который расширяет ControllerUnitTestCase.Это дает вам очень простой способ проверить ваш вызов redirect ().Например:

assertEquals("login", redirectArgs.action)
assertNotNull(redirectArgs.params.username)

Проверяйте столько, сколько целесообразно, с помощью модульных тестов (особенно логики потока в действиях контроллера), и используйте интеграционные тесты только для того, чтобы убедиться, что все работает хорошо, и для проверки состояния системы.

...