如何在 Node 中使用 Mocha 和 Chai 测试承诺拒绝?

How to test promise rejection with Mocha and Chai in Node?

我正在尝试使用 Mocha 和 Chai 测试我的服务和 dao。但是,在伊斯坦布尔的报道中,我得到的 'reject' 行是红色的。这是示例测试方法的代码。

describe('findAllCategories()', function() {
    it('should return all categories', function() {
        var stub = sinon.stub(categoryDao, 'findAllCategories');
        stub.callsFake(() => {
            return Promise.resolve(cat);
        });
        categoryService.findAllCategories().then(response => {
            assert.length(response, 1);
        }).catch(isError)
        .then((err) => {
            console.log(err);
          assert.isDefined(err);
        });
    })
});

现在,当我记录错误时,它显示 "TypeError: assert.length is not a function"。

有出路吗?

断言库没有函数 length,但您可以使用 lengthOf()(有关详细信息,请参阅 https://www.chaijs.com/api/assert/):

assert.lengthOf(response, 1);