gpt4 book ai didi

node.js - 测试 Webhooks 的正确方法是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 23:38:13 26 4
gpt4 key购买 nike

我在 Meteor 中有一个 ReSTFul API。我使用来自 Mandrill、Stripe 和其他库的钩子(Hook)来更新集合。

Router.route('/mandrill/message_rejected', { where: 'server' })
.post(function () {
var request = EJSON.parse(this.request.body.mandrill_events);

var rejects = _.map(_.where(request, {
event: 'reject'
}, {
return object.msg.email;
});

Meteor.users.update({
emails: {
$elemMatch: {
"address": {
$in: rejects
}
}
}
}, {
$set: { status: 'rejected' }
});

this.response.end();
});

我的问题是;我怎样才能为此自动化测试?该请求应该来自 Mandrill。有什么方法可以以一致的方式测试 webhook 消息吗?

最佳答案

我使用 Mocha (尽管您可以使用其他测试框架作为 Jasmine )。

我将测试与 superagent 结合起来允许您执行 HTTP 请求的库。

下一部分实现了技巧:设置日志并存储从 Mandril 或您接收的其他 Hook 接收到的 JSON,并构建传入响应的库(或夹具)。

然后您可以构建您需要的不同案例,例如:

  • 删除预期的字段
  • 发送副本
  • 等等

要使此方法保持一致,您需要花时间思考您希望收到哪些钩子(Hook),阅读文档以评估您正在考虑的情况是否可行等等。

我会建议您保留收到的钩子(Hook)的日志,以便随着时间的推移改进您的测试。

关于node.js - 测试 Webhooks 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30508302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com