我正在尝试测试一个引用指令中生成的映射的服务(不是第三方,自己的指令)
这是我的规范文件
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");