【发布时间】:2018-03-23 18:03:51
【问题描述】:
我有一个插入表格并返回Promise 的函数。我正在使用chai-as-promised 测试重复插入被拒绝。我要测试的是拒绝和原因码。当我运行函数并记录console.log(err.reason.code) 时,我得到ER_DUP_ENTRY。确认这对我的测试来说已经足够了,所以我尝试如下断言:
expect(insertTable()).to.eventually.be.rejected.and.eventually.to.have.deep.property('reason',{code: 'ER_DUP_ENTRY'}).notify(done);
根据chaijs,语法似乎是正确的。但是我的测试失败了:
AssertionError: expected { Object (status, reason) } to have deep property 'reason' of { code: 'ER_DUP_ENTRY' }, but got [Error: ER_DUP_ENTRY: Duplicate entry 'my_dupe' for key 'name_UNIQUE']
这似乎与我的控制台日志所说的属性相矛盾。
【问题讨论】:
-
你能显示承诺被拒绝的代码吗?我知道承诺被
Error对象拒绝,您等待Object和reason属性
标签: typescript chai chai-as-promised