柴摩卡测试 Promise 属性 'eventually' 不存在
Chai Mocha test Promise Property 'eventually' does not exist
我正在尝试使用 Chai Promise 测试,但它显示错误
我正在使用 docker.
这里是一个简单的函数
let funcPromise = (n) => {
return new Promise((resolve, reject) =>{
if(n=="a") {
resolve("success");
}else {
reject("Fail")
}
})
}
简单测试
import chai from 'chai';
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
let expect = chai.expect;
let assert = chai.assert;
it('connect: test promise', (done) => {
let func = funcPromise("a");
expect(func).to.eventually.equal("success"); // dont work
expect(func).to.be.rejected; // dont work
})
终端错误
FileTest.spec.ts:43:25 - error TS2339: Property 'eventually' does not exist on type 'Assertion'.
storage/database/MongooseEngine.spec.ts:44:35 - error TS2339: Property 'rejected' does not exist on type 'Assertion'.
错误是 TypeScript 抱怨它不知道 chai-as-promised
对 chai
断言所做的添加。
添加 types for chai-as-promised
应该可以解决 TypeScript 错误:
npm install --save-dev @types/chai-as-promised
您还需要 await
使用 chai-as-promised
:
做出的任何断言
import chai from 'chai';
import chaiAsPromised from 'chai-as-promised';
chai.use(chaiAsPromised);
const expect = chai.expect;
const funcPromise = (n) => new Promise((resolve, reject) => {
if (n === 'a') { resolve('success'); }
else { reject('fail'); }
});
it('connect: test promise', async () => {
await expect(funcPromise('a')).to.eventually.equal('success'); // Success!
await expect(funcPromise('b')).to.be.rejected; // Success!
});
我正在尝试使用 Chai Promise 测试,但它显示错误 我正在使用 docker.
这里是一个简单的函数
let funcPromise = (n) => {
return new Promise((resolve, reject) =>{
if(n=="a") {
resolve("success");
}else {
reject("Fail")
}
})
}
简单测试
import chai from 'chai';
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
let expect = chai.expect;
let assert = chai.assert;
it('connect: test promise', (done) => {
let func = funcPromise("a");
expect(func).to.eventually.equal("success"); // dont work
expect(func).to.be.rejected; // dont work
})
终端错误
FileTest.spec.ts:43:25 - error TS2339: Property 'eventually' does not exist on type 'Assertion'.
storage/database/MongooseEngine.spec.ts:44:35 - error TS2339: Property 'rejected' does not exist on type 'Assertion'.
错误是 TypeScript 抱怨它不知道 chai-as-promised
对 chai
断言所做的添加。
添加 types for chai-as-promised
应该可以解决 TypeScript 错误:
npm install --save-dev @types/chai-as-promised
您还需要 await
使用 chai-as-promised
:
import chai from 'chai';
import chaiAsPromised from 'chai-as-promised';
chai.use(chaiAsPromised);
const expect = chai.expect;
const funcPromise = (n) => new Promise((resolve, reject) => {
if (n === 'a') { resolve('success'); }
else { reject('fail'); }
});
it('connect: test promise', async () => {
await expect(funcPromise('a')).to.eventually.equal('success'); // Success!
await expect(funcPromise('b')).to.be.rejected; // Success!
});