gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:41:07 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com