这是我进行单元测试的每个步骤之前的内容。它的效果很好,可以为每个测试提供一个新的组件实例。但是,执行beforeEach块大约需要4秒钟。当您进行200次测试时,那就太慢了!
我想将大部分代码移至beforeAll块(如果您使用Jasminedone()
回调而不是使用async,则可以使用),但是我仍然无法为每个测试创建一个新实例。一些测试失败,因为唯一的实例已被先前的测试篡改。
我如何能 ...
要么
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [AppModule],
providers: [{provide: APP_BASE_HREF, useValue: '/'},
MockBackend,
BaseRequestOptions,
{
provide: Http,
useFactory: (pBackend: MockBackend, pOptions: BaseRequestOptions) => {
return new Http(pBackend, pOptions);
},
deps: [MockBackend, BaseRequestOptions]
}]
}).compileComponents()
.then(() => {
fix = TestBed.createComponent(Route1DetailComponent);
instance = fix.componentInstance;
injector = fix.debugElement.injector;
});
}));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句