我的角度测试达到了返回声明时遇到了一些麻烦。我正在使用茉莉与业力和吟游诗人js。我使用ng2html preprocesser来 $ templateCache
templatesCached 是我的templates文件夹中文件的模块名称。 ha.module.core 放置我想要测试的指令。当我运行调试工具时,我正在接触它。
以下是我的测试。他们通过了,但我遇到的问题是 rootScope 没有任何特定值。还
element.html() // returns "" in the console. I was expecting my directive back. Is this wrong?
在我运行controller = element.scope之后我得到了
html = [div.ng-scope]
describe(" directive", function () {
var element,
template,
controller;
beforeEach(function () {
bard.appModule("templatesCached", "ha.module.core");
bard.inject(
"$compile",
"$controller",
"$rootScope",
"haConfig"
);
});
beforeEach(function () {
var html = angular.element("<div explore-hero></div>");
spyOn(myService, "getTemplateUrl");
//console.log("html ", html);
$rootScope = $rootScope.$new();
element = $compile(html)($rootScope);
$rootScope.$digest(element);
controller = element.scope();
element.controller('heroController');
Element.controller是一个匿名函数。
console.log('element', element);
});
it("should have a div element", function () {
var result = element[0].querySelectorAll(".container");
expect(element.length).toBe(1); // not a ideal test for creation
expect(result).toBeDefined();
});
});
这是我缓存的模板。
module.run(['$templateCache', function($templateCache) {
$templateCache.put('/templates/explore-hero-base-template.html',
'<div class="container">\n' +
' <div share-widget></div>\n' +
'///html divs and info'
'</div><!-- .container -->');
}]);
我的指示
angular.module('ha.module.core').directive('exploreHero', function(myService) {
var HeroController = function($scope) {
$scope.emit('methods')
};
return {
restrict: 'A',
scope: true,
templateUrl: myService.getTemplateUrl('explore-hero.html),
controller: 'HeroController
}
)
任何见解都会有所帮助