Travis CI Fail Jest测试超时原因

问题描述 投票:2回答:1

确切的错误消息是:

Timeout - Async callback was not invoked within timeout  
specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.

起初,只有Node.js 4版本构建失败。 添加更多测试后,所有Node.js版本构建都被破坏(4,6,7,8)。

我使用Travis CI进行测试,使用Is(对于Yeoman发生器)。

如果需要,您可以查看job log错误消息。

尝试:

设置新的超时值。

let originalTimeout;

describe('generator-cozen-angular:sub-task', () => {
    beforeEach(() => {
        originalTimeout                  = jasmine.DEFAULT_TIMEOUT_INTERVAL;
        jasmine.DEFAULT_TIMEOUT_INTERVAL = 30000;
    });

    afterEach(() => {
        jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
    });

    it('do some stuff');
});

如果您有想法或解决方案,您将节省我的一天。 谢谢。

node.js timeout travis-ci yeoman jest
1个回答
3
投票

我刚刚通过阅读Jest文档找到了解决方案。

由于错误仅出现在Travis CI中,我认为他们的服务器只比我当地的服务器慢。

有了这些信息,运行:

jest --runInBand

解决了我的问题。

编辑1:

我通过添加更多测试再次遇到了这个问题。 找到的另一个解决方案是更改Jest超时。

jest.setTimeout(10000);

其中10000是毫秒。在描述之前添加文件顶部。

© www.soinside.com 2019 - 2024. All rights reserved.