javascript - AngularJS单元测试: Module 'admin.module' is not available

标签 javascript angularjs unit-testing visual-studio-2015 karma-jasmine

我正在使用 Karma 和 Jasmine 测试 Angular Controller ,但我似乎无法从主类加载模块。

这是我的主类:admin.controller.js

angular.module('admin.module').controller('admin.controller', ['$scope', function ($scope) {
$scope.SaveChanges = function()
{
    return true;
}
}]);

这是我的测试类:admin.controller.tests.js

describe('admin.controller tests', function () {

    beforeEach(module('admin.module'));
    var $controller = {};

    beforeEach(inject(function (_$controller_) {
        $controller = _$controller_;
    }));

    describe('$scope.SaveChanges', function () {
        it('Should return true', function () {
            var $scope = {};
            var controller = $controller('admin.controller', { $scope: $scope });
            expect($scope.SaveChanges()).toBe(true);
        });
    });
});

我的 karma.conf.js 文件指向我的项目中的以下文件:

// list of files / patterns to load in the browser
files: [
  '../TriAngular/scripts/angular.js',
  '../TriAngular/scripts/angular-mocks.js',
  '../TriAngular/app/admin/*.js',
  'app/admin/*.js'
],

admin.controller.js 文件位于../TriAngular/app/admin 和我的admin.controller.test.js 中位于“app/admin”内。

我尝试直接引用我的 karma 配置文件中的文件,但没有成功。完整的错误是:

Module 'admin.module' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

最佳答案

事实证明,该问题并不是从显示的异常中明显看出的。我缺少一个需要包含的 angular-route.js 文件,因为它看起来像我的管理模块依赖于它。

我的 karma.conf.js 文件中的包含列表:

// list of files / patterns to load in the browser
files: [
  '../TriAngular/scripts/angular.js',
  '../TriAngular/scripts/angular-mocks.js',
  '../TriAngular/scripts/angular-route.js',
  '../TriAngular/app/admin/*.js',
  'app/admin/*.js'
],

关于javascript - AngularJS单元测试: Module 'admin.module' is not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40527223/

相关文章:

javascript - YouTube API : Example YouTube Playlist Code?

javascript - Angular : Resetting Factory or Service

css - ng-table 宽度和非溢出文本

javascript - 在 AngularJS 中动态更改类

unit-testing - 使用 spy 模拟方法在测试中的服务(单元测试)中返回的值

python-3.x - 当我断言一个方法被调用时,如何使用通配符字符串? Python3 模拟

javascript - 如何使用表格单元格值获取数据? PHP 简单 HTML DOM 解析器

javascript - 延迟至满载

python - 测试带有 float 的元组的断言

使用 JSON Adventure 将 Javascript 数组转换为 Java 数组