У меня есть приложение angular 2 webpack, все настройки webpack, karma, созданные в соответствии с руководством по angular.io webpack. Я не использую aot. Я пишу жасмин unit test для тестирования моих компонентов. Сначала я попробовал без async-блока, в этом случае unit test просто получите выполнение только до вызова fixture.detectChanges(), после чего код не будет выполнен. Похоже, что fixture.detectChanges вызывает бесконечную блокировку.
Я попытался включить код в асинхронный блок. Затем я получаю следующую ошибку. Ошибка: не удалось выполнить 'send' в 'XMLHttpRequest': не удалось загрузить 'ng:///DynamicTestModule/module.ngfactory.js'
Код без async
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
});
С асинхронным
beforeeach(async(()=> {
TestBed.configureTestingModule({
imports:[],
declaration :[Mycomp],
providers:[{ provide:MyService, useclass:MyMockService}]
});
fixture=TestBed.createComponent(Mycomp);
fixture.detectChanges():
}));
Получение ошибки Не удалось загрузить dynamictestmodule/module.ngfactory.js