typescript - Jest Async/Await 无论如何都会失败回调?打字稿
问题描述
我正在尝试测试一些打字稿,直到最近所有测试都有效,并且不确定发生了什么变化。
下面是一个一直失败的模拟
Timeout - Async callback was not invoked within the 5000ms timeout
specified by jest.setTimeout.Error:
Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.
尝试了很多事情,我不知道自己做错了什么......
留下评论以指出以前的一些尝试......
包括:
- 将超时设置为 100+ 秒
done()
毫不拖延地打电话- 嘲笑承诺延迟响应和调用
done()
- 消除使用
done
- 使用
Promise
vsasync
关于未调用回调的错误总是相同的
console.warn = jest.fn();
console.error = jest.fn();
describe('Test async await', () => {
beforeAll(async (done) => {
jest.setTimeout(5000);
done();
});
// test('Check async callback.', async (done) => {
test('Check async callback.', async () => {
const waitFor = 2;
console.log(`skipping wait -- what happens?`);
// console.log(`starting to wait ${waitFor} seconds`);
// setTimeout(() => {
// console.log(`finished waiting ${waitFor} seconds`);
// done();
// }, waitFor * 1000);
const timeout = ms => new Promise(res => setTimeout(res, ms));
await timeout(waitFor * 1000);
// done();
console.log(`finished waiting ${waitFor} seconds`);
expect(true).toBeTruthy();
});
});
跑步
"jest": "^24.9.0",
"ts-jest": "^24.3.0",
我假设它很简单但不明显?
解决方案
推荐阅读
- python - 将变量分配给 urlopen(my_url) 时出错
- sql-server - 通过从 SSRS 前端获取用户输入来更新数据库表
- css - 模态没有覆盖整个文档
- reactjs - 如何在 React 应用程序的生产部署期间删除源文件
- codeblocks - resource.rc:没有这样的文件或目录
- gridview - 创建 Flutter 按钮菜单
- sql - 交叉应用中的列到行两个表
- angular7 - 通过邮寄发送数据的问题,路由器错误
- php - 我可以将所有 SQL 查询写入 phpMyAdmin / HTML 文件还是需要使用其他程序?
- linux - 如何从脚本运行另一个脚本并自动回答提示