chai-as-promised should.eventually.equal 未通过
chai-as-promised should.eventually.equal not passing
我正在尝试编写 chai-as-promised 的最小工作示例,以便了解它在测试 return 承诺的功能时的工作原理。
我有以下功能:
simple.test = async (input) => {
return input;
};
和以下测试函数:
chai.use(sinonChai);
chai.use(chaiAsPromised);
const { expect } = chai;
const should = chai.should();
describe('#Test', () => {
it('test', () => {
expect(simple.test(1)).should.eventually.equal(1);
});
});
但是,测试这个结果测试没有通过,而是一个很长的错误,粘贴在这里:https://pastebin.com/fppecStx
问题:代码有什么问题吗,或者这里似乎有什么问题?
首先:您的混合 expect
和 should
。如果你想用should做断言,你不需要expect。
其次:要告诉 mocha 测试是异步的,您必须调用 done
、return
一个 Promise 或使用 async/await
.
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');
const sinonChai = require('sinon-chai');
const should = chai.should();
chai.use(sinonChai);
chai.use(chaiAsPromised);
// Function to test
const simple = {
test: async (input) => {
return input;
}
}
// Test
describe('#Test', () => {
it('test', () => {
return simple.test(1).should.eventually.equal(1);
});
});
我正在尝试编写 chai-as-promised 的最小工作示例,以便了解它在测试 return 承诺的功能时的工作原理。
我有以下功能:
simple.test = async (input) => {
return input;
};
和以下测试函数:
chai.use(sinonChai);
chai.use(chaiAsPromised);
const { expect } = chai;
const should = chai.should();
describe('#Test', () => {
it('test', () => {
expect(simple.test(1)).should.eventually.equal(1);
});
});
但是,测试这个结果测试没有通过,而是一个很长的错误,粘贴在这里:https://pastebin.com/fppecStx
问题:代码有什么问题吗,或者这里似乎有什么问题?
首先:您的混合 expect
和 should
。如果你想用should做断言,你不需要expect。
其次:要告诉 mocha 测试是异步的,您必须调用 done
、return
一个 Promise 或使用 async/await
.
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');
const sinonChai = require('sinon-chai');
const should = chai.should();
chai.use(sinonChai);
chai.use(chaiAsPromised);
// Function to test
const simple = {
test: async (input) => {
return input;
}
}
// Test
describe('#Test', () => {
it('test', () => {
return simple.test(1).should.eventually.equal(1);
});
});