J'ai une application angular 2 webpack, toute la configuration webpack,karma créée selon le guide webpack d'angular.io. Je n'utilise pas aot. J'écris des tests unitaires Jasmine pour tester mes composants. J'ai d'abord essayé sans bloc asynchrone, dans ce cas, le test unitaire est exécuté seulement jusqu'à l'appel de fixture.detectChanges(), le code après cela n'est pas exécuté. Il semble que l'appel fixture.detectChanges soit bloqué à l'infini.
J'ai essayé d'inclure le code dans un bloc asynchrone. J'obtiens alors l'erreur suivante. Error:Failed to execute 'send' on 'XMLHttpRequest' : Failed to load 'ng:///DynamicTestModule/module.ngfactory.js'.
Code sans asynchronisme
beforeeach(()=> {
TestBed.configureTestingModule({
imports:[],
declaration :[Mycomp],
providers:[{ provide:MyService, useclass:MyMockService}]
});
fixture=TestBed.createComponent(Mycomp);
console.log(' before detect changes'):
fixture.detectChanges():
console.log('after detect changes');// this is not getting
logged .. karma shows 0 of 1 executed successfully
});
Avec l'asynchronisme
beforeeach(async(()=> {
TestBed.configureTestingModule({
imports:[],
declaration :[Mycomp],
providers:[{ provide:MyService, useclass:MyMockService}]
});
fixture=TestBed.createComponent(Mycomp);
fixture.detectChanges():
}));
Obtention de l'erreur "Failed to load dynamictestmodule/module.ngfactory.js".