【问题标题】:Angular 4 unit testing template parse errors:Angular 4 单元测试模板解析错误:
【发布时间】:2018-08-29 05:35:57
【问题描述】:

当我使用 Jasmine 运行角度单元测试时出现以下错误。

错误:模板解析错误: 嵌入模板上的任何指令均未使用属性绑定 cdkHeaderRowDef。确保属性名称拼写正确,并且所有指令都列在“@NgModule.declarations”中。 (" [错误->]

<mat-header-row *cdkHeaderRowDef="displayedColumns"></mat-header-row>
[ERROR ->]<mat-row *cdkRowDef="let row; columns: displayedColumns; let i = index; let isOdd = odd; let isEven ="): ng:///DynamicTestModule/TabledataComponent.html@57:4

它看起来像材料设计解析错误。请建议我会是什么问题?

【问题讨论】:

  • 您是否导入了与 CDK 表相关的模块?
  • 是的,我已经包含了 CDK 表,但它仍然显示相同的错误
  • 那你能给我们看看你的测试平台的声明吗?
  • 另外,我不知道你的 Material 版本,但现在是 matHeaderRowDef,而不是 cdkHeaderRowDef
  • Testbed 声明是 :: beforeEach(async(() => { TestBed.configureTestingModule({ 声明:[ TabledataComponent ],导入:[ RouterTestingModule, HttpModule ],提供者:[ TestService ],模式:[ CUSTOM_ELEMENTS_SCHEMA ] }).compileComponents(); }));

标签: angular jasmine angular-unit-test


【解决方案1】:

将表格模块导入您的 testBed。

beforeEach(async(() => {
  TestBed.configureTestingModule({
    declarations: [TabledataComponent],
    imports: [RouterTestingModule, HttpModule, MatTableModule],
    providers: [RaindanceServiceService],
    schemas: [CUSTOM_ELEMENTS_SCHEMA]
  }).compileComponents();
}));

【讨论】:

    猜你喜欢
    • 2016-12-03
    • 2017-01-31
    • 1970-01-01
    • 2020-10-23
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 2017-02-17
    相关资源
    最近更新 更多