angular - 在使用 Jest 运行 ng test (Angular) 时抛出的 ChildProcessWorker.initialize 超出了调用重试次数
问题描述
我正在将 Angular 与 Jest 一起使用。在运行 ng test(在我的情况下为 nx 测试,因为我使用的是 nrwl/nx)时,我在最后一个测试挂起时收到了一个组件的错误:
Call retries were exceeded at ChildProcessWorker.initialize
解决方案
后来我发现我的 AfterViewInit() 挂钩中有一个 setTimeout,这导致了错误。
如果您的组件中有计时器,请执行以下操作以修复它:
- 看看这个答案:测试一个包含 setTimeout() 的函数
- 查看文档和本文以了解如何使用 fakeAsync() 和 tick() 来测试异步代码
- 如果这不起作用,请将您的测试用例包装在 setTimeout() 中,其毫秒数与组件中的 on 相同,这应该可以解决问题
推荐阅读
- testng - 从多模块 maven 项目中的模块之一运行 TestNG 测试
- sql-server - 金额列的百分比
- javascript - 根据谷歌表格脚本中的唯一 ID 同步行数据
- java - 为什么我可以使用来自静态内部类的私有构造函数来实例化外部类?
- reactjs - 从 CRA+TS 应用程序的源代码导入时,Cypress 测试无法运行
- twitter-bootstrap-3 - 我收到 ERROR [app-router] Error: Route not found: /pane02 尝试导航到 Aurelia 中 HTML 内的 href
- r - R Shiny with mathjax:如何避免括号自动置于数学模式?
- android - MobileFirst Direct Update 不适用于特定版本
- sql-server - 全局临时表范围在存储过程中的行为不同
- java - 带有自定义键名的 Collectors.groupingBy