我正在尝试在摩卡咖啡中测试失败。我想在此请求成功时注册失败,因为它不应该成功。我的问题是,当我跑步时assert(false)
,似乎触发了catch
。
it('Should fail to complete this hail, because driver is not driver', (done) => {
req(rider, '/hail/complete', {
id: driver.id
}).then(() => {
assert(false);
done();
}).catch((err) => {
assert.equal(1, err.error.errors.length);
done();
});
});
这就是承诺链的工作方式:如果.then()
抛出异常,则后续事件.catch()
将捕获该异常。
由于您想捕获抛出的拒绝req()
,因此可以通过在上添加拒绝处理程序来解决此问题.then()
。而且,由于您使用的是Mocha,因此可以利用Mocha支持promise的事实。
所有这些将使您能够执行此操作:
it('Should fail to complete this hail, because driver is not driver', () => {
return req(rider, '/hail/complete', { id: driver.id }).then(() => {
assert(false);
}, err => {
assert.equal(1, err.error.errors.length);
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句