我有一个用本地函数定义的指令,例如:
angular.module('clientApp')
.directive('myDirective', function () {
return {
scope : { user_data : "=myDirective" } ,
link : function (scope) {
function is_valid_float() { return true; };
scope.function_on_scope = function () { return true; };
}
}
});
我正在尝试为is_valid_float
describe('Directive: myDirective', function () {
// load the directive's module
beforeEach(module('clientApp'));
var element,scope;
beforeEach(inject(function ($rootScope,$compile) {
scope = $rootScope.$new();
element = angular.element('<div my-directive></div');
element = $compile(element)(scope);
scope.$digest();
}));
describe('Test', function () {
it('Should be defined', function() {
expect(element).toBeDefined();
expect(scope.function_on_scope).toBeDefined();
});
it('Should check float validity', function () {
expect(is_valid_float('123')).toBeTrue();
expect(is_valid_float('123.2.3')).toBeFalse();
});
});
});
显然这不起作用。本地函数is_valid_float
和范围上的函数。我尝试从元素中获取范围,但我的范围是空的。
角度测试指令对我来说一直是个谜,所以我会感激一些帮助。感谢。
我正在使用茉莉和业力。