【问题标题】:Testing Angular factory that uses OpenLayers测试使用 OpenLayers 的 Angular 工厂
【发布时间】:2015-10-23 21:05:27
【问题描述】:

我正在使用 openlayers 和 Angular 工厂编写地图抽象层来共享 API。我正在尝试使用 jasmine 对其进行测试,但 OpenLayers 似乎表现不佳。

describe("add Group", function(){
 var map;
 beforeEach(function(){
    module('surgeApp');
 })
 beforeEach(inject(function(mapBase){
    map = mapBase;
 }));
 it("adds a group", function() {
    expect(map.addNewGroup("WMS Layers", [])).toEqual(ol.layer.Group);
  })
})

抛出这个错误:TypeError: Cannot read property '0' of undefined 在他(src/webapp/libraries/js/openlayers-3.js:703:31)

我认为这与地图未正确启动有关,但不确定解决方法是什么。如果我不能对此进行测试,那将是一种耻辱。

【问题讨论】:

    标签: angularjs openlayers openlayers-3


    【解决方案1】:

    对于任何走上这条非常令人沮丧的道路的人,您需要为地图添加一个 div。这很烦人,因为它掩盖了 Jasmine 的一部分,所以我做了以下操作:

    <div id="map" style="width:10px"></div>
    

    这导致地图非常小。你可以让你的更小,我只是希望能够确保它正在加载。之后,我就可以对我的函数进行单元测试了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2013-12-30
      • 2014-07-09
      • 1970-01-01
      相关资源
      最近更新 更多