![](/img/trans.png)
[英]Service is not defined while testing for angular service using karma/jasmine
[英]Container not defined testing Leaflet angular Map using Jasmine
我正在嘗試測試引用在指令(不是第三方,自己的指令)中生成的映射的服務
這是我的規格文件
beforeEach(() => {
inject(($injector: any, $rootScope: ng.IRootScopeService) => {
$log = $injector.get('$log');
$q = $injector.get('$q');
$timeout = $injector.get('$timeout');
_compile = $injector.get('$compile');
_scope = $rootScope.$new();
});
serviceUnderTest = new mapServiceObj($log, $q, $timeout);
var element = angular.element('<div id="map"></div>');
element = _compile(element)(_scope);
_scope.$digest();
serviceUnderTest.map = L.map("map");
});
當我運行測試時,我在最后一行收到錯誤消息,提示未定義容器。 我想我很親密,有人可以指出我的錯誤在哪里嗎?
想通了。 需要添加到DOM。 解決方法是這里。
var ele = angular.element('<div id="map"></div>');
angular.element(document.body).append(ele);
_compile(ele)(_scope);
_scope.$digest();
serviceUnderTest.map = L.map("map");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.