如何使用jasmine测试Angular2中的外部加载模块

时间:2017-08-09 12:21:51

标签: javascript angular d3.js karma-jasmine topojson

我正在使用Datamap创建世界海图。

在我的组件中,我添加了这样的内容:

 declare const Datamap;
 this.map = new Datamap({element: document.getElementById('map-container'),
  fills: {
    TOP: 'rgb(14, 120, 230)',
    OTHER: 'rgb(170, 209, 242)',
    defaultFill: 'rgb(211, 211, 211)'
  },
  data: data,
    geographyConfig: {
      popupTemplate: function(geo, data) {
        this.getTemplate(geo,data)
      },
      popupOnHover : true,
      highlightOnHover : false
    }
  });

当我为此运行测试用例时,我收到此错误:

include d3.js (v3.0.3 or greater) and topojson on this page before creating a new map

所以我像这样导入了d3和topojson:

  import * as topojson from '../../topojson.min.js';
  import * as d3 from '../../d3.min.js';

现在我收到了这个错误:

  Unexpected value '[object Object]' imported by the module 'DynamicTestModule'

My specorts in spec file:

 beforeEach(async(() => {
TestBed.configureTestingModule({
  declarations : [WorldChart
  ],
  imports: [
    FormsModule,
    NvD3Module,
    MaterialModule.forRoot()
  ],
  // providers :[
  //   {provide: d3},
  //   {provide: topojson}
  // ]
})
   .compileComponents();
 }));

我不知道如何删除它。

0 个答案:

没有答案