gpt4 book ai didi

javascript - 使用 mocha 和 chai 进行测试,看看 promise 是否得到解决或拒绝

转载 作者:行者123 更新时间:2023-12-02 23:30:21 29 4
gpt4 key购买 nike

我编写了一个函数,它接受一些参数,并在函数内部使用一个类,该类具有来自第三方库的函数,该函数返回一个 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 中 promise 是否真正得到解决或拒绝,例如使用

chai.expect(...)

我该怎么做?

最佳答案

看看 npm 包 chai-as-promised( https://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')

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

关于javascript - 使用 mocha 和 chai 进行测试,看看 promise 是否得到解决或拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533516/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com