在Angular.js中测试模块控制器,工厂,服务等

时间:2013-04-24 02:45:39

标签: javascript angularjs

当我在模块中定义组件时,我无法让我的单元测试在Angular.js中工作。这是我使用Jasma的Karma测试运行器的单元测试。我看过几个帖子,看起来这是测试模块控制器的方法。但是,我的测试运行器输出显示'模块未定义'。我不确定我错过了什么。我需要在karam.conf.js中配置一些东西吗?

describe('bulkEditor factories', function() {
    beforeEach(module('BulkEditor'));

    it('should see the controller', inject(function($controller) {
        expect($controller('GroupController'.toBeTruthy()));
    }));

});

以下是我的karma.conf.js文件中的一个部分,其中显示了包含的文件列表:

files = [
  JASMINE,
  JASMINE_ADAPTER,
  'https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js',
  'app/js/app/**/*.js',
  'test/*.spec.js'
];

1 个答案:

答案 0 :(得分:2)

moduleinject函数在angular-mocks.js文件中定义。您可以从http://code.angularjs.org/(例如http://code.angularjs.org/1.0.6/angular-mocks.js)获取它。

我必须说我已经将Karma用于通过CDN引用的文件,但无论如何angular-mocks.js没有部署在CDN上,所以你必须从http://code.angularjs.org/获得它