1
mapboxgl.Map
の新しいインスタンスを作成した後、私のユニットテストでは、map.setStyle
メソッドが定義されていません。ユニットテストは1.5 +カルマジャスミンを実行しています。私は最新版のmapboxglを使っています。新しい地図インスタンスを作成した後、Mapboxgl setSyleが未定義
指令内部地図作成、map.setStyle
が定義されている場合、EX:
map.setStyle
が定義されていない
// directive
angular.directive('mapDirective', function() {
link: function(scope, elem, attr, ctrl) {
ctrl.map = new mapboxgl.Map({
container: elem[0],
style: 'mapbox://styles/spmatt/ciksnpcsy004992klvge9h2zb'
});
console.log(ctrl.map.setStyle); // defined
}
});
// tests
let element = angular.element('<map-directive></map-directive>');
this.$compile(element)(this.$rootScope.$new());
this.$rootScope.$digest();
expect(this.vm.map.setStyle).toBeDefined(); // passes
、EX:
第二のインスタンスが動作しなければならないlet element = angular.element('<div></div>');
this.$compile(element)(this.$rootScope.$new());
this.$rootScope.$digest();
map = new mapboxgl.Map({
container: element[0],
style: 'mapbox://styles/spmatt/ciksnpcsy004992klvge9h2zb'
});
expect(map.setSyle).toBeDefined(); // fail
、それがなぜ失敗するのか?