测试使用OpenLayers的Angular工厂

时间:2015-10-23 21:05:27

标签: angularjs openlayers openlayers-3

我正在使用openlayers和Angular工厂编写一个地图抽象层来共享API。我正在尝试使用茉莉花来测试它,但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:无法读取未定义的属性“0”     在他(src / webapp / libraries / js / openlayers-3.js:703:31)

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

1 个答案:

答案 0 :(得分:0)

对于走在这条非常令人沮丧的道路上的人来说,你需要为地图添加一个div。这很烦人,因为它掩盖了Jasmine的一部分,所以我做了以下几点:

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

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