在测试指令时,我得到的是typeerror,编译不是一个函数

时间:2016-01-11 19:02:46

标签: javascript angularjs testing directive

当我尝试测试我的指令时,我得到了TypeError:compile不是一个函数。 这是我的测试用例:

describe('directive tests', function () {
var element, $compile, scope;

beforeEach(module('App'));

beforeEach(inject(function (_$compile_, $rootScope) {
    $compile = _$compile_;
    scope = $rootScope.$new();
}));

it('should be Hello', function () {
    element = $compile('<div Hello></div>')(scope);
    ...
});

});

如果我评论定义模块的行,(beforeEach(modue(&#39; App&#39;)),编译工作,但我无法引用我的指令。

1 个答案:

答案 0 :(得分:0)

在karma.conf.js中,添加包含对app module

的引用的文件
  files : [
  'app/bower_components/angular/angular.js',
  'app/bower_components/angular-route/angular-route.js',
  'app/bower_components/angular-mocks/angular-mocks.js',
  'app/js/**/*.js',
  'test/unit/**/*.js'
],