测试 Angular 个使用 OpenLayers 的工厂
Testing Angular factory that uses OpenLayers
我正在使用 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);
})
})
引发此错误:类型错误:无法读取未定义的 属性“0”
在他 (src/webapp/libraries/js/openlayers-3.js:703:31)
我认为这与地图未正确初始化有关,但不确定解决方法是什么。如果我不能测试这个,那就太可惜了。
对于走在这条非常令人沮丧的道路上的任何人,您需要为地图添加一个 div。这很烦人,因为它覆盖了 Jasmine 的一部分,所以我做了以下操作:
<div id="map" style="width:10px"></div>
这导致地图非常小。你可以让你的更小,我只是喜欢能够确保它正在加载。在那之后,我能够对我的功能进行单元测试。
我正在使用 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);
})
})
引发此错误:类型错误:无法读取未定义的 属性“0” 在他 (src/webapp/libraries/js/openlayers-3.js:703:31)
我认为这与地图未正确初始化有关,但不确定解决方法是什么。如果我不能测试这个,那就太可惜了。
对于走在这条非常令人沮丧的道路上的任何人,您需要为地图添加一个 div。这很烦人,因为它覆盖了 Jasmine 的一部分,所以我做了以下操作:
<div id="map" style="width:10px"></div>
这导致地图非常小。你可以让你的更小,我只是喜欢能够确保它正在加载。在那之后,我能够对我的功能进行单元测试。