何时在 angular 中使用 waitForAsync
When to use waitForAsync in angular
从文档中我们可以读到:
waitForAsync(fn: Function): (done: any) => any
Wraps a test function in an asynchronous test zone. The test will
automatically complete when all asynchronous calls within this zone
are done. Can be used to wrap an inject call.
看不懂,什么时候用waitForAsync
函数? waitForAsync
与(async
或 fakeAsync
)有什么区别?
在Angular 10.1.0 中,waitForAsync()
取代了async()
to avoid confusion,但其他方面完全相同。您看到的任何讨论使用 async()
的文档也将适用于 waitForAsync()
。 async()
已被标记为已弃用,并将在版本 12 中完全删除。
在异步测试区包装一个测试函数。完成此区域内的所有异步调用后,测试将自动完成。可用于封装注入调用。
因此您不必手动调用 done()
作为参数传递的回调以标记测试已完成或使用 fakeAsync()
和其他辅助函数 from '@angular/core/testing'
it('...', waitForAsync(inject([AClass], (object) => {
object.doSomething.then(() => {
expect(...);
})
});
见docs。
从文档中我们可以读到:
waitForAsync(fn: Function): (done: any) => any
Wraps a test function in an asynchronous test zone. The test will automatically complete when all asynchronous calls within this zone are done. Can be used to wrap an inject call.
看不懂,什么时候用waitForAsync
函数? waitForAsync
与(async
或 fakeAsync
)有什么区别?
在Angular 10.1.0 中,waitForAsync()
取代了async()
to avoid confusion,但其他方面完全相同。您看到的任何讨论使用 async()
的文档也将适用于 waitForAsync()
。 async()
已被标记为已弃用,并将在版本 12 中完全删除。
在异步测试区包装一个测试函数。完成此区域内的所有异步调用后,测试将自动完成。可用于封装注入调用。
因此您不必手动调用 done()
作为参数传递的回调以标记测试已完成或使用 fakeAsync()
和其他辅助函数 from '@angular/core/testing'
it('...', waitForAsync(inject([AClass], (object) => {
object.doSomething.then(() => {
expect(...);
})
});
见docs。