Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS单元测试:模块&x27;管理模块';不可用_Javascript_Angularjs_Unit Testing_Visual Studio 2015_Karma Jasmine - Fatal编程技术网

Javascript AngularJS单元测试:模块&x27;管理模块';不可用

Javascript AngularJS单元测试:模块&x27;管理模块';不可用,javascript,angularjs,unit-testing,visual-studio-2015,karma-jasmine,Javascript,Angularjs,Unit Testing,Visual Studio 2015,Karma Jasmine,我正在使用Karma和Jasmine测试一个角度控制器,但我似乎无法从我的主类加载到我的模块中 这是我的主要类:admin.controller.js angular.module('admin.module').controller('admin.controller', ['$scope', function ($scope) { $scope.SaveChanges = function() { return true; } }]); describe('admin.contro

我正在使用Karma和Jasmine测试一个角度控制器,但我似乎无法从我的主类加载到我的模块中

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

angular.module('admin.module').controller('admin.controller', ['$scope', function ($scope) {
$scope.SaveChanges = function()
{
    return true;
}
}]);
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);
        });
    });
});
这是我的测试类:
admin.controller.tests.js

angular.module('admin.module').controller('admin.controller', ['$scope', function ($scope) {
$scope.SaveChanges = function()
{
    return true;
}
}]);
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
文件在
./triangal/app/admin
中,而my
admin.controller.test.js
在“app/admin”中

我试图直接引用我的karma配置文件中的文件,但这些文件不起作用。完全错误是:

模块“管理模块”不可用!你要么拼错了 模块名称或忘记加载它。如果注册模块,请确保 将依赖项指定为第二个参数

尝试

我不熟悉Karma,但你也需要注册你的模块,我只在resharper中使用过Jasmine,所以我注册文件的方法是

/// <reference path="../scripts/app.js" />
//
在文件的顶部


另外,也不要忘记引用模块的依赖项。

问题显然不是由显示的异常引起的。我丢失了一个
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'
],

谢谢你的回答,尽管仍然会出现同样的错误