【发布时间】:2019-10-08 18:38:18
【问题描述】:
在这种故障模式下随机单元测试失败
错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。
其中一些失败的测试甚至没有进行异步测试!
想知道这个sn-p的代码是否正确;这是我们在 Angular 的所有测试中全面使用的模式
beforeEach(async(() => {
TestBed.configureTestingModule({ . // Should this be **return TestBed.configureTestingModule**
imports: [
...CommonTestModules
],
declarations: [FooComponent]
})
.compileComponents();
}));
是否应该从回调中返回 compileComponents 的承诺?我在某处读到,异步包装器正在等待承诺,当承诺得到解决时,它最终调用 done()。但是在这里,这种模式看起来并没有返回承诺,我们也没有在任何地方调用“await”关键字。如果没有返回语句,这段代码会不会显得错误?
【问题讨论】:
标签: angular karma-jasmine angular-unit-test karma-jasmine-ajax