undefined不是angular.js在karma中的函数

时间:2016-02-15 14:39:58

标签: angularjs karma-jasmine

filterTest.js

'use strict';
describe('test the reverse string filter',function(){

  var customFilter;
  beforeEach(module('directiveApp'));
  beforeEach(inject(function($filter){
      customFilter = $filter('reversing');
  }));
  it('passing a filter test',function(){
        expect(customFilter('HELLO')).toBe('OLLEH');
  });
});

filterModule.js

angular.module('directiveApp').filter('reversing',function(text){
  return text.split("").reverse().join("");
});

filterTest.js是我的测试文件,其中我试图测试我在'directiveApp'模块中创建的过滤器,该模块反转了字符串。当我运行karma start时,它会出错:

TypeError:undefined不是/var/www/html/Directive/tests/testFilter.js中的函数(评估'customFilter('HELLO')')(第10行)     /var/www/html/Directive/tests/testFilter.js:10:25

我无法弄明白,它有什么问题。任何帮助表示赞赏。 谢谢,

1 个答案:

答案 0 :(得分:1)

您的过滤器未正确定义。它应该是:

angular.module('directiveApp').filter('reversing', function() {
  return function(text) {
    return text.split("").reverse().join("");
  };
});