测试承诺的 throws/rejected 与 Mocha + Chai 的承诺是否有效
Testing if a promise throws/rejected with Mocha + Chai as promised doesn't seem to be working
我有一个依赖于另一个异步函数的异步函数,我正在测试它是否会在 url 错误时抛出错误,它确实抛出错误并且它在控制台上。
但是测试一直失败,但是我写了语法。我完全不知道我应该如何写这篇文章,我在这个废话上浪费了太多时间...
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(''
... 在所有可能的组合中,但结果相同。
我的版本:
"@types/mocha": "^5.2.7",
"@types/chai-as-promised": "^7.1.2",
"chai": "2.1.2",
"chai-as-promised": "^7.1.1",
然后导入:
import { expect } from 'chai';
使用插件需要您告诉 chai use()
它,您可以这样做:
const chai = require('chai');
chai.use(require('chai-as-promised'));
现在您可以使用附加功能了,在本例中 eventually
:
const expect = chai.expect;
return expect(returnsAPromise()).to.eventually.equal(someValue);
我有一个依赖于另一个异步函数的异步函数,我正在测试它是否会在 url 错误时抛出错误,它确实抛出错误并且它在控制台上。
但是测试一直失败,但是我写了语法。我完全不知道我应该如何写这篇文章,我在这个废话上浪费了太多时间...
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(''
... 在所有可能的组合中,但结果相同。
我的版本:
"@types/mocha": "^5.2.7",
"@types/chai-as-promised": "^7.1.2",
"chai": "2.1.2",
"chai-as-promised": "^7.1.1",
然后导入:
import { expect } from 'chai';
使用插件需要您告诉 chai use()
它,您可以这样做:
const chai = require('chai');
chai.use(require('chai-as-promised'));
现在您可以使用附加功能了,在本例中 eventually
:
const expect = chai.expect;
return expect(returnsAPromise()).to.eventually.equal(someValue);