我正在为 Angular 应用程序编写 Cypress 测试用例,我需要确保某些代码(特别是 Angular 组件的 ngOnInit 生命周期挂钩中存在的代码)在继续测试之前已执行。我如何等待 Angular 组件在我的 Cypress 测试用例中正确初始化?
如果无法了解生命周期钩子中到底发生了什么,就很难确切地说出您能做什么。话虽如此,您可以根据您的设置执行一些操作。
我们做的一件事是,当我们等待 ngOnInit 运行并完成时,我们有一个加载旋转器,我们将其连接到 1)验证加载旋转器是否存在,然后 2)为加载旋转器提供 30 秒的超时微调器不存在。那么你就知道 ngOnInit 已经完成了。
如果您在运行生命周期挂钩时没有加载旋转器,那么您的视图中是否有任何内容发生变化,您可以等待以确定您已完成生命周期?