Karma Test for Angular 2/4如何包含外部库

loading...


0

我有一个使用Angular CLI的Web应用程序 . 并且有一个名为饼图组件的组件 .

在pie-chart-component.ts中,我正在导入Chart.js

import Chart from 'chart.js';

它在UI中运行良好,但是当我运行 npm test 时,它无法识别HTML中的标记,并且无法通过Angular CLI附带的基本业力测试,该测试基本上测试是否创建了此组件 .

Karma中的错误:

Failed: Template parse errors:
Can't bind to 'datasets' since it isn't a known property of 'canvas'. ("
  <div style="display: block">

我的部分内容:

beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [PieChartPanelComponent]
    })
    .compileComponents();
  }));

我想我需要将图表库添加到提供者或导入中 . 但是当我尝试这样做时,编译器会说图表是一种类型,我试图将它用作值 .

什么是使Karma测试能够读取外部库并识别标签是什么的正确方法?

1回答

  • 0

    如果您使用了ChartsModule,那么还需要在spec.ts文件中导入它 . 如下:

    import {ChartsModule} from 'ng2-charts';
    

    然后

    beforeEach(async(() => {
      TestBed.configureTestingModule({
        imports:[ChartsModule],
        declarations: [PieChartPanelComponent]
      })
      .compileComponents();
    }));
    

loading...

评论

暂时没有评论!