当我在模块中定义组件时,我无法让我的单元测试在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'
];
答案 0 :(得分:2)
module
和inject
函数在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/获得它