我目前有一个我要测试的快速/节点应用程序,但它提供的响应是req.flash(‘warn’,’message goes here’); 不幸的是,express.js上的文档没有详细描述此消息如何传递给客户端. 我知道expresso有一个
不幸的是,express.js上的文档没有详细描述此消息如何传递给客户端.
我知道expresso有一个assert.response()函数来测试响应对象.我想知道flash消息的去向,以及我如何以类似的方式测试它(或者如果它不可能,我应该通过响应对象发送所有内容).
我不认为这应该是那样的.你不能只使用req.flash()作为回应请求的唯一方法.它更像是一种在普通模板上向用户发送消息的简单方法 – 例如插入/创建文章后,您可以说:
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> <% } %>
结果如下: