Travis CI 由于超时原因导致 Jest 测试失败
Travis CI Fail Jest testing for Timeout reason
确切的错误信息是:
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 进行测试,并使用 Jest(用于 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
是毫秒。
在描述之前添加到文件顶部。
确切的错误信息是:
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 进行测试,并使用 Jest(用于 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
是毫秒。
在描述之前添加到文件顶部。