我正在尝试在TypeScript中使用chai-as-promised包。首先,下面的代码在简单的JavaScript中工作得很好。
import * as chai from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
chai.use(chaiAsPromised);
const expect = chai.expect;
import * as sinon from 'sinon';
import { MyClass } from '.';
describe('Test my class', () => {
let myClass: MyClass;
beforeEach(() => {
myClass = new MyClass();
});
it('Should render home', () => {
const req = new RequestMock();
const res = new ResponseMock();
return expect(myClass.getHomePage(req, res)).to.be.fulfilled()
.then((returnedValue) => {
chai.expect(returnedValue).to.not.be.equal([]);
});
});
});我在这段代码中有以下错误:

..。它指出了这个问题:
interface PromisedTypeComparison {
(type: string, message?: string): PromisedAssertion; // <<--
instanceof: PromisedInstanceOf;
instanceOf: PromisedInstanceOf;
}我测试了大量的机会,这是我最接近解决方案的一个。
我想使用chai-as-promise的功能,比如fullfulled,rejected…等。
我怎么才能做到呢?
发布于 2020-09-30 05:34:26
只需导入默认的chai-as-promised,一切都会正常工作:
import * as chai from 'chai'
import chaiAsPromised from 'chai-as-promised'
chai.use(chaiAsPromised)发布于 2021-07-07 03:34:46
我认为this answer就是您所需要的:
添加types for
chai-as-promised,这应该会处理TypeScript错误:
npm install --save-dev @types/chai-as-promised
对我很管用。之前,我得到了“属性‘最终’在类型‘断言’上不存在。”;在添加了这个之后,每个人都很高兴:-)
我确实必须将我的import更改为require。
之前:
import chaiAsPromised from 'chai-as-promised';之后:
import chaiAsPromised = require('chai-as-promised');发布于 2021-05-17 15:53:34
你可以这样写
import { use as chaiUse } from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
chaiUse(chaiAsPromised);https://stackoverflow.com/questions/53364078
复制相似问题