Got Timeout - 在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调
Posted
技术标签:
【中文标题】Got Timeout - 在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调【英文标题】:Got Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout 【发布时间】:2018-09-18 09:44:52 【问题描述】:我在用 jest 进行 api 测试时遇到问题
目前的行为是什么?
Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.
at ../../../../Users/chhoeurng.sakona/AppData/Roaming/npm/node_modules/jest-cli/node_modules/jest-jasmine2/build/queue_runner.js:68:21
我当前的代码
it ('GET should return a status of 200 OK', function (done)
frisby
.get('url-api')
.expect('status', 200)
.done(done);
);
目前的行为是什么?
It should work normally and no error.
请提供您的确切 Jest 配置
I do not have configuration
在您的项目目录中运行 npx envinfo --preset jest
并粘贴
结果在这里
System:
OS: Windows 10
CPU: x64 Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz
Binaries:
Node: 8.11.1
Yarn: Not Found
npm: 5.6.0
jest v22.4.3
【问题讨论】:
【参考方案1】:使用 Promise 唤醒时需要返回一个 Promise 或使用异步函数:
it ('GET should return a status of 200 OK', async() =>
await frisby
.get('url-api')
.expect('status', 200)
);
或
it ('GET should return a status of 200 OK', function ()
return frisby
.get('url-api')
.expect('status', 200)
);
也可以看看docs
【讨论】:
嗨安德烈亚斯,当我使用你的第二个代码时,我仍然遇到这个错误。第一个代码块不正确。请你帮忙。 现在我尝试使用此更改此行然后它可以工作it ('GET should return a status of 200 OK', async (done) =>
你能帮帮我吗,我不知道我的代码哪里出错了,它仍然会超时。 const frisby = require('frisby'); const Joi = frisby.Joi; // Frisby exports Joi for convenience on type assersions it ('Should sakona return a status of 200', function (done) return frisby .get('url-api') .expect('status', 200) .expect('json', 'status', '3') .expect('jsonTypes', 'merchants*', // Assert *each* object in 'items' array 'uid': Joi.number().required(), 'category': Joi.string().required(), ) .done(done);
最好的方法毕竟不要使用done
,因为在我的回答中描述使用异步函数时不需要它。我将更新代码以使其更清晰以上是关于Got Timeout - 在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调的主要内容,如果未能解决你的问题,请参考以下文章
已解决TypeError: search() got an unexpected keyword argument ‘requests_timeout’
为什么Linux在x64中使用两个GOT部分? .GOT与.got.plt
Android 逆向函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )