繁体   English   中英

与摩卡咖啡和蔡测试,看诺言是否已解决或被拒绝

[英]Test with mocha and chai to see if a promise is resolved or rejected

我编写了一个带有一些参数的函数,并且在函数内部使用了一个类,该类具有一个来自第三方库的函数,该函数返回一个Promise,然后在自己的函数中返回Promise的结果。 喜欢 :

return client.track(data) // client.track is from a 3rd party lib that should return a promise 

现在,我想在我的mocha + chai测试文件中测试promise的返回。 我用输入导入此函数,我应该得到结果。 就像是:

const result = await myfunc(x,y) // Should return the result of a promise 

现在我要测试在Mocha + Chai中诺言是否已实际解决或被否决,例如使用

chai.expect(...)

我怎样才能做到这一点?

看一下npm软件包chai-as-promisedhttps://www.npmjs.com/package/chai-as-promised )。 它是对chai库的扩展,该库提供对Promise的支持。

您可以通过以下方式进行设置

const chai            = require("chai")
const chaiAsPromised  = require("chai-as-promised")

chai.use(chaiAsPromised)
chai.should()

promiseFunction(args).should.be.rejectedWith(SomeError)
promiseFunction().should.eventually.be.a('array')

查看文档,以更好地了解此插件的功能:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM