我有这段代码:
export async function x(data) {
cache.push(data);
console.log('HERE'); // this is printed
return data;
}
模拟功能是:
__mocks__
模块的模拟位于a.x()
目录。
a.x.mock
调用模拟函数,但.mock
未定义。
怎么可能? /tmp/python-test/testdj/testdj/
属性在哪里?
答案 0 :(得分:0)
因此,经过一些调查后,我发现__mocks__
目录中声明的函数默认情况下不会被jest.fn()
包装。
就个人而言,我觉得这件事有点令人困惑。
所以你可以做到两件事
function x(data) {
cache.push(data);
return cache;
}
jest.mock('a-a', () => ({x: x}))
如果您在同一个文件中执行所有操作,或
jest.mock('a-a');
然后在__mocks__/a-a.js
文件中
export const x = jest.fn(async (data) => {
cache.push(data);
return cache;
});