【发布时间】:2017-10-30 11:41:14
【问题描述】:
我有 angular 2 webpack 应用程序,所有 webpack、karma 配置都根据 angular.io webpack 指南创建。 我没有使用aot。 我正在编写茉莉花单元测试规范来测试我的组件。 首先我尝试不使用异步块,在这种情况下,单元测试只会执行到 fixture.detectChanges() 调用,之后的代码不会被执行。似乎 fixture.detectChanges 调用被无限阻塞。
我尝试在异步块中包含代码。 然后我得到以下错误。 错误:无法在“XMLHttpRequest”上执行“发送”:无法加载“ng:///DynamicTestModule/module.ngfactory.js”
没有异步的代码
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失败
【问题讨论】:
标签: angular webpack karma-runner