javascript - Mocha 中的异步函数

标签 javascript asynchronous mocha.js assert

在尝试为测试用例断言错误消息时收到问题

AssertionError: expected [Function] to throw an error
at Context.it (test\index.js:24:80)
if (configVms.rts) {
describe('Real Time Services', () => {
    for(let rtsConfig of configVms["rts"].rtsConfig) {
        it(`Real Time Services endpoints for guid ${rtsConfig.resourceId} on ${rtsConfig.platformType} platform`, async () => {
            expect(async () => await realTimeServices.main(rtsConfig)).to.throw('Host rejected');
        });
    }});
}

最佳答案

to.throw 仅适用于同步函数。 对于您的情况,我建议添加 chai-as-promised 插件并更改测试:

if (configVms.rts) {
describe('Real Time Services', () => {
    for(let rtsConfig of configVms["rts"].rtsConfig) {
        it(`Real Time Services endpoints for guid ${rtsConfig.resourceId} on ${rtsConfig.platformType} platform`, async () => {
            await expect(realTimeServices.main(rtsConfig)).to.be.rejectedWith('Host rejected');
        });
    }});
}

关于javascript - Mocha 中的异步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57419730/

相关文章:

javascript - Angular 4 以及 Node-rdkafka 和 kafka-node 的加载问题

node.js - Node.js 中的“异步”/'await' 在 Node.js v8.1.0 中不起作用

sql - 异步 SQL 操作

networking - 如何在 Clojure (/Java) 中稳健地发出大量并发 HTTPS 请求

angular - 将新创建的 angular cli 项目转换为使用 mocha 框架而不是 jasmine

javascript - 无法弄清楚如何在 Javascript 中扩展每分钟节拍计数器功能?

javascript - 滚动到元素底部时触发事件?

javascript - 年份作为索引

node.js - 在 npm 下观看 Mocha 失败

reactjs - TypeError : (0 , _chai.describe) 不是函数