我正在尝试在此处编写最基本的单元测试
it('should create the app', async(() => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
}));
我总是会收到类似的错误
失败:模板解析错误:由于无法绑定到“ routerLink” 不是“离子项目”的已知属性。 1.如果“ ion-item”是一个Angular组件,并且具有“ routerLink”输入,则请验证它是否是此模块的一部分。 2.如果“ ion-item”是Web组件,则将“ CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“ @ NgModule.schemas”以禁止显示此消息。 3.要允许任何属性,请在此组件的“ @ NgModule.schemas”中添加“ NO_ERRORS_SCHEMA”。 (“ ggle auto-hide =“ false” * ngFor =“让appPages保持p”> ] [routerLink] =“ [p.url]”> “):ng:///DynamicTestModule/AppComponent.html@6:49找不到管道“ translate”(“ [错误->] {{页标题|翻译}} “
就像ng测试单元测试不接受html中的任何离子元素一样?我确实在我的spec文件中导入了表单模块和离子模块。
答案 0 :(得分:0)
由于进行了测试,因此您必须在TestBed中提供NO_ERRORS_SCHEMA
属性以防止架构错误,因此不需要提供IonicModule:
TestBed.configureTestingModule({
declarations: [ AppComponent ],
schemas: [ NO_ERRORS_SCHEMA ]
})
.compileComponents();
您似乎必须提供TranslateModule。