如何在 Angular 2 测试中的 fixture.whenStable 上使用 await
Posted
技术标签:
【中文标题】如何在 Angular 2 测试中的 fixture.whenStable 上使用 await【英文标题】:How to use await on fixture.whenStable in Angular 2 Tests 【发布时间】:2017-09-18 17:30:52 【问题描述】:虽然whenStable
返回了一个promise,但我不能使用await。
下面是我的 tsconfig
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
我正在使用"typescript": "^2.1.5"
【问题讨论】:
消息不言自明,让你的函数异步。 如果有一种方法可以让 'it' 异步运行,这样我们就可以使用 await 【参考方案1】:如错误消息中所述:'await' 仅允许在异步函数中使用。当你想使用await
时,你必须用async
关键字标记外部函数。
// example
const myAsyncFunction = async () =>
// ... some code
await fixture.whenStable();
// ... some code
当您使用 async
关键字标记任何函数时,它会返回一个承诺。查看this question 以更好地解释 async/await。
【讨论】:
以上是关于如何在 Angular 2 测试中的 fixture.whenStable 上使用 await的主要内容,如果未能解决你的问题,请参考以下文章
我如何在conftest.py中设置会话详细信息以提高产量以及pytest中的fixture?
Angular-fixture.debugElement.query(By.directive(IsRouteDirective)找不到宿主元素
Angular 测试中的 fakeAsync 和 async 有啥区别?