javascript - 在 Angular.js 中测试模块 Controller 、工厂、服务等

标签 javascript angularjs

当我在模块中定义我的组件时,我无法让我的单元测试在 Angular.js 中工作。这是我使用 Karma test runner 和 Jasmine 进行的单元测试。我看过几篇文章,看起来这是测试模块 Controller 的方法。但是,我的测试运行程序输出显示“模块未定义”。我不确定我错过了什么。我需要在 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'
];

最佳答案

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/ 获取它。

关于javascript - 在 Angular.js 中测试模块 Controller 、工厂、服务等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16182519/

相关文章:

javascript - HTML/JavaScript : Getting a List of all files and subdirectories in a given directory

javascript - jquery tablesorter - 在 ajax 更新时我失去了排序功能

javascript - $cordovaContacts 加载速度非常慢

javascript - $scope.$watch 使用 Angular 和 Ionic/Cordova 的 div 标签

javascript - 使用 localStorage 记住 ListView

javascript - Backbone 本地存储

angularjs - 如果单击模式,则页面以 Angular 重定向

android - 加载页面( View )时如何在ionic中播放音频mp3

javascript - AngularJS promise ,$q,延迟

javascript - 如果 str1 的一部分可以重新排列为 str2,如何编写返回 true 的函数?