Как проверить flash.message в веб-потоке Grails? - PullRequest
3 голосов
/ 28 апреля 2011

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

...
if (some_condition) {
   flash.message = "my error message"
   return error()
}
...

Теперь я знаю, что когда я собираюсь отобразить это на странице GSP, я получаю доступ к флэш-сообщению как

<g:if test="${message}">...

вместо обычного

<g:if test="${flash.message}">...

Так или иначе, я пишу свой тест и мне интересно, как проверить содержание сообщения? Обычно при обычных действиях в контроллерах я следую тому, что написано в здесь . Однако, поскольку это веб-поток, я не могу найти сообщение, даже если проверяю controller.flash.message / controller.params.message / controller.message. Я также попытался посмотреть на объем потока ...

Есть идеи, как посмотреть сообщение? Большое спасибо!

1 Ответ

6 голосов
/ 21 июня 2011

На основе вашего примера вы можете получить доступ к своему flash.message как controller.request.message в своем тесте веб-потока. Я много гуглил по той же самой проблеме, и во многих документах о веб-потоках говорится об этом, объединяя все области действия в «модель представления». Но я также где-то читал, что он объединяет область флеш-памяти с областью запроса для перенаправления. Именно это побудило меня попробовать поискать controller.request в моем тестовом случае.

...