首页 > 解决方案 > 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.

尝试了很多事情,我不知道自己做错了什么......

留下评论以指出以前的一些尝试......

包括:

关于未调用回调的错误总是相同的

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",

我假设它很简单但不明显?

标签: typescriptjestjsts-jest

解决方案


推荐阅读