【发布时间】:2020-05-26 19:09:23
【问题描述】:
我正在尝试模拟 knex 调用,但是,我无法模拟所有的承诺树。 我的模拟如下:
jest.mock('../src/db/Client', () => {
const mKnex = {
select: jest.fn().mockReturnThis(),
then: jest.fn((done) => done([list with my data])),
catch: jest.fn(),
};
return jest.fn(() => mKnex);
});
我能够模拟 select 和 then,但开玩笑地抱怨 catch 不是一个函数,我对如何模拟它并让我的测试通过的想法已经不多了。
有什么想法吗?
【问题讨论】:
-
select返回一个承诺,为什么不mockResolvedValue?
标签: node.js unit-testing mocking jestjs knex.js