首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mocha + Chai测试promise是否如承诺的那样抛出/拒绝似乎不起作用

使用Mocha + Chai测试promise是否如承诺的那样抛出/拒绝似乎不起作用
EN

Stack Overflow用户
提问于 2019-11-26 22:49:19
回答 1查看 160关注 0票数 4

我有一个异步函数,它依赖于另一个异步函数,我正在测试当url错误时,它是否会抛出错误,它确实抛出了错误,它在控制台上。

但是测试总是失败,不管我怎么写语法。我完全不知道我应该如何写这篇文章,我已经在这垃圾文章上浪费了太多的时间……

代码语言:javascript
复制
expect(GetSecret('', 'test-secret')).to.eventually.throw(
      'TypeError: Only absolute URLs are supported',
    ); 

expect(GetSecret('', 'test-secret')).to.eventually.throw;
expect(GetSecret('', 'test-secret')).to.eventually.be.rejected;

这些都是我尝试过的几种方法,但每次的结果都是一样的。我也尝试过await GetSecret(''...在所有可能的组合中,尽管如此,结果是一样的。

我的版本:

代码语言:javascript
复制
    "@types/mocha": "^5.2.7",
    "@types/chai-as-promised": "^7.1.2",
    "chai": "2.1.2",
    "chai-as-promised": "^7.1.1", 

然后导入:

代码语言:javascript
复制
import { expect } from 'chai';
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-26 23:59:57

使用一个插件需要你告诉chai去use()它,你可以这样做:

代码语言:javascript
复制
const chai = require('chai');
chai.use(require('chai-as-promised'));

现在,您可以使用附加功能,在本例中为eventually

代码语言:javascript
复制
const expect = chai.expect;

return expect(returnsAPromise()).to.eventually.equal(someValue);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59053513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档