gpt4 book ai didi

javascript - Chai-As-Promised 即使错误也会通过

转载 作者:搜寻专家 更新时间:2023-11-01 05:29:23 24 4
gpt4 key购买 nike

const chaiAsPromised = require('chai-as-promised');
const chai = require('chai');
const expect = chai.expect;
chai.use(chaiAsPromised);

describe('[sample unit]', function() {
it('should pass functionToTest with true input', function() {
expect(Promise.resolve({ foo: "bar" })).to.eventually.have.property("meh");
});
});

这个测试通过了???我正在使用 "chai": "3.5.0", "chai-as-promised": "5.2.0",

最佳答案

expect(...) 返回一个 promise 本身,该 promise 将被解析或拒绝,具体取决于测试。

要让 Mocha 测试该 promise 的结果,您需要从测试用例中显式返回它(这是有效的,因为 Mocha 具有内置的 promise 支持):

describe('[sample unit]', function() {
it('should pass functionToTest with true input', function() {
return expect(Promise.resolve({ foo: "bar" })).to.eventually.have.property("meh");
});
});

或者,您可以使用 Mocha 的“常规”回调式异步设置和 chai-as-promised 的 .notify():

describe('[sample unit]', function() {
it('should pass functionToTest with true input', function(done) {
expect(Promise.resolve({ foo: "bar" })).to.eventually.have.property("meh").notify(done);
});
});

关于javascript - Chai-As-Promised 即使错误也会通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37020622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com