我在以下测试中出错。我的节点版本为:v12.10.0。是否有setTimeout替代方法?
test('demo code', async () => {
const cc = await projectSetup(project);
const onNotification = jest.fn();
cc.sendNotification();
await waitForExpect(() => {
expect(onNotification).toHaveBeenCalledTimes(2);
});
});
错误日志为
Call retries were exceeded
at ChildProcessWorker.initialize (../../../node_modules/jest-worker/build/workers/ChildProcessWorker.js:230:21)
5条答案
按热度按时间xzlaal3s1#
只需在导入后添加
jest.useFakeTimers();
它在我的代码中工作
inn6fuwd2#
在我的例子中,实际的问题是与承诺处理。我得到了同样的问题,当我运行我的所有测试用例在一个去与笑话。
**解决方案:**尝试单独运行一个测试,然后查看出现得错误.
我得到了下面的错误后,运行一个有问题的测试分别在那里之前,我得到的
Call retries were exceeded
:有了这个,我确信问题出在catch块上,当我把它添加到异步服务API函数中时,测试用例运行得非常好。也许你也可以尝试同样的方法,看看它是否适合你。
我正在使用以下配置:
**节点:**15.13.0
**国家/地区:**7.8.0
**笑话:**26.6.3
6l7fqoea3#
尝试使用最新的npm版本运行
npm doctor
。这是一个很好的工具,它帮助我立即诊断权限和所有权问题。要点:
验证文件/文件夹权限和所有权
qeeaahzv4#
我能够成功运行测试,执行以下操作;
1.安装
npm i -D jest-canvas-mock
更新jest.config.ts文件,使其具有:
wqsoz72f5#
将vue-jest版本更新为下列版本时遇到相同错误
将其降级到节点版本v14.x.x后,错误消失
直觉是-最新的节点版本与依赖关系不兼容。