离子测试单元ionic 4应用程序的离子错误

时间:2019-04-18 08:19:01

标签: angular ionic-framework

我正在尝试在此处编写最基本的单元测试

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文件中导入了表单模块和离子模块。

1 个答案:

答案 0 :(得分:0)

由于进行了测试,因此您必须在TestBed中提供NO_ERRORS_SCHEMA属性以防止架构错误,因此不需要提供IonicModule:

TestBed.configureTestingModule({
  declarations: [ AppComponent ],
  schemas: [ NO_ERRORS_SCHEMA ]
})
.compileComponents();

您似乎必须提供TranslateModule。