Jasmine 规范在Angular 2 templateUrl上没有预期错误

Jasmine 规范在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

我有一个有角的2分量的MyComp

@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与单元测试一起使用时出现错误(检查)。现在只需使用
模板
属性或
覆盖模板
。如果我使用覆盖模板,我是否仍在测试实际组件?还是只是一个虚拟组件?它将是覆盖模板的实际组件,因此基本相同。如果您不确定,您仍然可以使用
模板
属性。