In meinen Einheiten Tests in einigen Fällen nach dem Erstellen einer neuen Instanz von mapboxgl.Map
ist die Methode map.setStyle
undefined. Die Komponententests laufen Winkel 1.5 + Karma Jasmin. Ich verwende die neueste Version von mapboxgl.Mapboxgl setSyle undefiniert nach dem Erstellen neuer Map-Instanz
Wenn in einer Richtlinie Erstellen von Karten, map.setStyle
definiert ist, ex:
// 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
Wenn in Tests erstellen, map.setStyle
nicht definiert ist, 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
Die zweite Instanz arbeiten sollte, irgendwelche Ideen, warum es scheitert?