我目前有一个要测试的 express/node 应用程序,但它给出的响应格式为 req.flash('warn', 'message goes here');
不幸的是,express.js 上的文档没有非常彻底地描述此消息如何传送到客户端。
我知道expresso有一个测试响应对象的 assert.response() 函数。我想知道闪存消息的去向,以及如何以类似的方式测试它(或者如果不可能,我应该通过响应对象发送所有内容)。
最佳答案
我认为这不应该像那样工作。您不能只使用 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>
<% } %>
结果是这样的:
关于node.js - 你如何在 express 中测试 req.flash()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751379/