无法判断 Meteor.defer 中的代码何时完成
Can't tell when code inside Meteor.defer has finished
我正在为我的流星项目编写集成测试。我想在我的应用程序中测试 webhook POST 处理程序。这是它的样子:
post() {
Meteor.defer(() => {
// some logic here, e.g insert / update database
})
return {
statusCode: 200,
}
}
注意: Meteor.defer
是必须的,因为我想尽快return code 200 (OK).
为了测试这个 webhook,我创建了一个假的 POST 请求到这个 webhook,然后检查数据库是否相应更新。问题是在测试中我不知道 Meteor.defer
中的代码何时完成,因此我的断言失败,因为数据库尚未更新。
有什么建议吗?
我想出了一个解决方法:使用 Mocha 的测试 timeouts 在执行断言之前等待特定的时间。这不是最好的解决方案,但目前有效。
我正在为我的流星项目编写集成测试。我想在我的应用程序中测试 webhook POST 处理程序。这是它的样子:
post() {
Meteor.defer(() => {
// some logic here, e.g insert / update database
})
return {
statusCode: 200,
}
}
注意: Meteor.defer
是必须的,因为我想尽快return code 200 (OK).
为了测试这个 webhook,我创建了一个假的 POST 请求到这个 webhook,然后检查数据库是否相应更新。问题是在测试中我不知道 Meteor.defer
中的代码何时完成,因此我的断言失败,因为数据库尚未更新。
有什么建议吗?
我想出了一个解决方法:使用 Mocha 的测试 timeouts 在执行断言之前等待特定的时间。这不是最好的解决方案,但目前有效。