我使用chai
和chai-as-promised
来测试一些异步JS代码。
我只是想检查一个返回promise的函数最终会返回一个数组并写下以下两个测试:
A :
it('should return an array', () => {
foo.bar().should.eventually.to.be.a('array')
})
乙:
it('should return an array', (done) => {
foo.bar().should.eventually.to.be.a('array').notify(done)
})
两者都通过了OK,但只有 B 选项实际运行了我的bar()函数中包含的完整代码(即显示下面代码中的console.log()
消息)。难道我做错了什么?为什么会这样?
bar() {
return myPromise()
.then((result) => {
console.log('Doing stuff')
return result.body.Data
})
.catch((e) => {
console.err(e)
})
}