Angular 2 使用第 3 方组件进行单元测试

Angular 2 Unit testing with 3rd party components

我正在尝试为我的组件编写一个单元测试,它有一个 PrimeNG piechart directive in it. PrimeNG uses Chart.js 包含在我的 index.html 中,我已经将它添加到我的 files 列表中测试配置。当我执行测试时,它显示 Can't find variable: Chart。如果我从我的模板中删除第 3 方组件,则测试通过。使用第 3 方组件创建单元测试的正确方法是什么?

除了包含你的文件,我认为你还需要将它们配置到 SystemJS 配置中:

  • 如果您从 HTML 页面执行测试,请直接在此页面的 System.config 中定义它。
  • 如果您使用 Karma 执行测试,请在 karma-test-shim.js 文件中扩展 System.config