用茉莉花测试角度指令的局部函数

时间:2014-06-29 17:35:32

标签: angularjs jasmine karma-runner

我有一个用本地函数定义的指令,例如:

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和范围上的函数。我尝试从元素中获取范围,但我的范围是空的。

角度测试指令对我来说一直是个谜,所以我会感激一些帮助。感谢。

我正在使用茉莉和业力。

0 个答案:

没有答案