ng测试角度5失败

时间:2018-06-22 10:20:24

标签: angular karma-jasmine

我正在尝试使用Karma在我的angular 5应用上执行测试,但是对于10个组件,我基本上都遇到了相同的错误,即: AccountsComponent应该创建

  

失败:模板解析错误:“ app-wizard-cmp-edit”未知   元件:   1.如果“ app-wizard-cmp-edit”是Angular组件,请验证它是否属于此模块。   2.如果“ app-wizard-cmp-edit”是Web组件,则将“ CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“ @ NgModule.schemas”   禁止显示此消息。 (“                             [错误->]                 ”):ng:///DynamicTestModule/AccountsComponent.html@51:8

当我像这样How to import component into another root component in Angular 2在线搜索解决方案时 它没有解决我的问题 以上是我的帐户模块中的导入:

    @NgModule({
    imports: [
        CommonModule,
        RouterModule.forChild(AccountsRoutes),
        FormsModule,
        ReactiveFormsModule,
        NouisliderModule,
        TagInputModule,
        MaterialModule, SharedModule
    ],
    declarations: [AccountsComponent, WizardComponent],
    exports: [WizardComponent]
    , providers: [AccountslistService],

})
export class AccountsModule {
}

这是ngModule:

@NgModule({
    imports: [
        CommonModule,
        BrowserAnimationsModule,
        FormsModule,
        HttpModule,
        HttpClientModule,
        RouterModule.forRoot(AppRoutes),
        MaterialModule,
        MatNativeDateModule,
        SidebarModule,
        NavbarModule,
        FooterModule,
        FixedpluginModule,
    ],
    declarations: [
        AppComponent,
        AdminLayoutComponent,
        AuthLayoutComponent,
        AccountsComponent

    ],
    bootstrap: [AppComponent]
    , providers: [AuthGuard, AuthenticationService, ChatAlertsService, Configuration]
})
export class AppModule {
}

我真的很困,因为我不知道为什么测试失败,但是在构建应用程序时它运行正常

1 个答案:

答案 0 :(得分:0)

您可以将schemas: [NO_ERRORS_SCHEMA]添加到测试组件配置中,该配置将简单地忽略与child component标记相关的错误。

TestBed.configureTestingModule({
      declarations: [ MyComponent],
      schemas: [NO_ERRORS_SCHEMA]
      // other stuff
})

但是在使用时要小心,因为它可能会隐藏其他任何错误,也导致调试失败的测试用例时遇到困难。