Jasmine 规范在Angular 2 templateUrl上没有预期错误
我有一个有角的2分量的MyCompJasmine 规范在Angular 2 templateUrl上没有预期错误,jasmine,angular,Jasmine,Angular,我有一个有角的2分量的MyComp @Component({ selector: 'myform', templateUrl: './myform.html', providers: [HTTP_PROVIDERS], directives: [ROUTER_DIRECTIVES] }) 这是我的规格 it('should work', injectAsync([TestComponentBuilder], (tcb) => { return tc
@Component({
selector: 'myform',
templateUrl: './myform.html',
providers: [HTTP_PROVIDERS],
directives: [ROUTER_DIRECTIVES]
})
这是我的规格
it('should work', injectAsync([TestComponentBuilder], (tcb) => {
return tcb.createAsync(MyComp).then((fixture) => {
fixture.detectChanges();
expect(1+ 1).toEqual(2);
});
}));
当我执行测试时,它会给我一个错误
Can't bind to 'ngForOf' since it isn't a known native property
实际代码可以工作,但只有测试失败
更新:
如果我用模板替换templateUrl,规范就可以工作。
i、 如果我试一下
模板:Fake
想知道是否有人用angular 2.0测试版的templateUrl测试过组件
谢谢 您应该将或添加到组件指令中:
从'angular2/common'导入{CORE_指令};
@组成部分({
选择器:“myform”,
templateUrl:“./myform.html”,
提供者:[HTTP_提供者],
指令:[路由器指令,核心指令]//谢谢,我试图向tcb.createAsync添加一个错误处理程序,它显示的实际错误是TypeError:无法在next.fail()@user636525 Hmm读取Env.fail()未定义的属性'addExpectationResult'(我认为问题在于templateUrl和@Component指令。如果我用template:Fake
替换templateUrl,工作正常。您是否尝试过使用templateUrl而不是template进行组件测试?将templateUrl与单元测试一起使用时出现错误(检查)。现在只需使用模板
属性或覆盖模板
。如果我使用覆盖模板,我是否仍在测试实际组件?还是只是一个虚拟组件?它将是覆盖模板的实际组件,因此基本相同。如果您不确定,您仍然可以使用模板
属性。