【问题标题】:When to use waitForAsync in angular何时在 Angular 中使用 waitForAsync
【发布时间】:2021-01-30 16:30:31
【问题描述】:

从文档中我们可以看到:

waitForAsync(fn: Function): (done: any) => any

在异步测试区域中包装测试函数。测试将 当此区域内的所有异步调用时自动完成 完成。可用于包装注入调用。

我不明白,什么时候使用waitForAsync函数? waitForAsync 与(asyncfakeAsync)有什么区别?

【问题讨论】:

标签: angular karma-jasmine angular-test


【解决方案1】:

在 Angular 10.1.0 中,waitForAsync() 已替换 async() to avoid confusion,但其他方面完全相同。您看到的任何讨论使用async() 的文档也将适用于waitForAsync()async() 已被标记为已弃用,将在版本 12 中完全删除。

【讨论】:

    【解决方案2】:

    在异步测试区域中包装测试函数。当该区域内的所有异步调用都完成后,测试将自动完成。可用于包装注入调用。

    因此您不必手动调用作为参数传递的done() 回调来标记测试已完成或使用fakeAsync() 和其他辅助函数from '@angular/core/testing'

    it('...', waitForAsync(inject([AClass], (object) => {
      object.doSomething.then(() => {
        expect(...);
      })
    });
    

    docs

    【讨论】:

      猜你喜欢
      • 2015-06-02
      • 2021-03-01
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-29
      • 2018-09-12
      • 1970-01-01
      相关资源
      最近更新 更多