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

Javascript 如何使用jasmine测试Angular2中的外部加载模块,javascript,angular,d3.js,karma-jasmine,topojson,Javascript,Angular,D3.js,Karma Jasmine,Topojson,我正在使用创建世界图表地图 在我的组件中,我添加了如下内容: 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)' },

我正在使用创建世界图表地图

在我的组件中,我添加了如下内容:

 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
    }
  });
  import * as topojson from '../../topojson.min.js';
  import * as d3 from '../../d3.min.js';
当我为此运行测试用例时,会出现以下错误:

  Unexpected value '[object Object]' imported by the module 'DynamicTestModule'
在创建新地图之前,在此页面上包含d3.js(v3.0.3或更高版本)和topojson

所以我导入了d3和topojson,如下所示:

 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
    }
  });
  import * as topojson from '../../topojson.min.js';
  import * as d3 from '../../d3.min.js';
现在我得到了这个错误:

  Unexpected value '[object Object]' imported by the module 'DynamicTestModule'
我在等级库文件中的导入:

 beforeEach(async(() => {
TestBed.configureTestingModule({
  declarations : [WorldChart
  ],
  imports: [
    FormsModule,
    NvD3Module,
    MaterialModule.forRoot()
  ],
  // providers :[
  //   {provide: d3},
  //   {provide: topojson}
  // ]
})
   .compileComponents();
 }));
我不知道如何才能删除此项