如何在Grails webflow中测试flash.message?

时间:2011-04-28 04:53:43

标签: testing grails spring-webflow

我在Grails中使用webflow,我正在为它编写测试。现在,在内部我有一些错误,所以我在重定向之前设置了一个消息到闪存范围:

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

现在,我知道当我要在GSP页面中显示时,我会以

的形式访问Flash消息
<g:if test="${message}">...

而不是通常的

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

所以无论如何,我正在写我的测试,我想知道如何测试消息的内容?通常,在控制器的正常操作中,我遵循here中的内容。但是,由于这是一个webflow,即使我检查controller.flash.message / controller.params.message / controller.message,我似乎也找不到该消息。我也试过看流量范围...

有关如何查看邮件的任何想法吗?非常感谢!

1 个答案:

答案 0 :(得分:6)

根据您的示例,您可以在网络流测试中访问flash.message controller.request.message。我为这个同样的问题做了很多谷歌搜索,很多webflow文档都谈到它将所有范围合并到“视图模型”中。但我也在某处读到它将flash范围合并到请求范围以进行重定向。这就是促使我尝试在我的测试用例中查看controller.request的原因。