Travis CI Fail Jest测试超时原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Travis CI Fail Jest测试超时原因相关的知识,希望对你有一定的参考价值。
确切的错误消息是:
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');
});
如果您有想法或解决方案,您将节省我的一天。 谢谢。
答案
我刚刚通过阅读Jest文档找到了解决方案。
由于错误仅出现在Travis CI中,我认为他们的服务器只比我当地的服务器慢。
有了这些信息,运行:
jest --runInBand
解决了我的问题。
编辑1:
我通过添加更多测试再次遇到了这个问题。 找到的另一个解决方案是更改Jest超时。
jest.setTimeout(10000);
其中10000
是毫秒。在描述之前添加文件顶部。
以上是关于Travis CI Fail Jest测试超时原因的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有超时的情况下在 Travis CI 上安装一些东西?
Swift 测试在本地通过,但在 Travis-CI 上构建失败