在编写测试代码期间,有时会遇到非常严重的错误:-错误:超时-jasmine.DEFAULT_TIMEOUT_INTERVAL指定的超时内未调用异步回调。在努力解决此错误之后,我在这里和那里找到了一些解决方案,例如 Increase Time Interval值,在代码块结尾处调用done()函数等等 ,但对我没有任何作用。
我现在想知道何时发生此错误,以了解确切原因。
答案 0 :(得分:1)
当您处理async/await
时,这是非常常见的消息。大约有80%的用户表示您忘记了某个地方的await
语句,而其他20条则是您的测试中确实需要深入分析的错误。您可以使用以下提示来改进调试过程
1)显示有关错误的更多信息-将其放入量角器conf文件中。
process.on('unhandledRejection', ({ message }) => {
console.log('\x1b[36m%s\x1b[0m', `Unhandled rejection: ${message}`);
});
2)安装“量角器控制台”插件,以确保浏览器控制台中没有错误/拒绝(即从应用程序侧排除问题的可能性)并添加到您的配置中
plugins: [{
package: "protractor-console",
logLevels: [ "severe" ]
}]
所示,使用Chrome调试测试
4)使用HtmlScreenshotReporter-此报告创建了一个非常好的报告,结构合理且直观
这些是可以帮助您发现问题的工具。仅当我花时间调试我进行的每个特定测试时,我才删除所有Async callback was not invoked within timeout specified by jasmine
通知。这是我无需审查代码就可以给您的唯一建议。