我正在尝试使用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 {
}
我真的很困,因为我不知道为什么测试失败,但是在构建应用程序时它运行正常
答案 0 :(得分:0)
您可以将schemas: [NO_ERRORS_SCHEMA]
添加到测试组件配置中,该配置将简单地忽略与child component
标记相关的错误。
TestBed.configureTestingModule({
declarations: [ MyComponent],
schemas: [NO_ERRORS_SCHEMA]
// other stuff
})
但是在使用时要小心,因为它可能会隐藏其他任何错误,也导致调试失败的测试用例时遇到困难。