我目前有一个我要测试的快速/节点应用程序,但它提供的响应是req.flash('warn', 'message goes here');
不幸的是,express.js上的文档没有详细描述此消息如何传达给客户端。
我知道expresso有一个assert.response()函数来测试响应对象。我想知道flash消息的去向,以及我如何以类似的方式测试它(或者如果它不可能,我应该通过响应对象发送所有内容)。
答案 0 :(得分:12)
我不认为这应该是那样的。您不能只使用req.flash()
作为回复请求的唯一方式。
这更像是在normal
模板上向用户发送消息的简单方法 - 例如插入/创建文章后,您可以说:
req.flash('error', 'could not insert because .... ');
或
req.flash('info', 'article added successfully!');
对于我的上一个项目,我然后在我的应用程序中添加了两个动态助手:
app.dynamicHelpers({
info: function (req, res) {
return req.flash('info');
},
error: function (req, res) {
return req.flash('error');
}
});
所以我可以在我看来这样说:
<% if (info !== undefined && info != "") { %>
<div class="infoBubble">
<%= info %>
</div>
<% } %>
<% if (error !== undefined && error != "") { %>
<div class="errorBubble">
<strong>Fehler</strong>: <%= error %>
</div>
<% } %>
结果如下: