javascript-参数’controllerLogin’不是函数,未定义-AngularJs,业力测试
作者:互联网
您好,Genius开发人员,
目前,我正在学习AngularJs并进行一些基本测试,但仍然会出错.
请帮我解决这个问题.我到处寻找答案,但找不到任何东西.您的任何帮助将不胜感激.
下面是错误.
`Error: [ng:areq] Argument 'controllerLogin' is not a function, got undefined
我正在使用WebStrom IDE.
这是我的controllerLogin.js
“严格使用”;
var loginApp = angular.module('loginApp',[]);
(function() {
//define this for the minification of javascripts
var loginScope=['$scope'];
var loginController = function($scope){
$scope.hello = "Hello Galaxy";
};
loginController.$inject = loginScope;
angular.module('loginApp').controller('loginController',loginController);
}());
下面是我的loginSpec.js
'use strict';
describe("app module", function () {
beforeEach(module("loginApp"));
describe("controllerLogin", function () {
var scope,
controller;
beforeEach(inject(function ($rootScope, $controller) {
scope = $rootScope.$new();
controller = $controller;
}));
it("should assign message to hello world", function () {
controller("controllerLogin", {$scope: scope});
expect(scope.message).toBe("Hello Galaxy");
});
});
});
下面是我的galaxytest.conf.js
// list of files / patterns to load in the browser
files: [
'public/scripts/angular.js',
'public/scripts/angular-mocks.js',
'public/src/app/*.js',
'public/app.js',
'**/*.js',
'test/**/*Spec.js'
],
以下是我的app.js
//Define all the module with no dependencies.
angular.module('loginApp',[]);
//Now Define Main Module of the Application
var galaxyFrontendApp = angular.module('galaxyFrontendApp',['ngRoute','ui.bootstrap','loginApp']);
galaxyFrontendApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/login', {templateUrl: 'src/app/modules/login/views/viewLogin.html', action: 'loginApp.loginController'});
$routeProvider.otherwise({redirectTo: '/login'});
}]);
下面是我的index.js
<body>
<div ng-view></div>
<!-- Please refer all the javascript files here -->
<!-- All the JS files from scripts folder -->
<script src="scripts/angular.js"></script>
<script src="scripts/angular-route.js"></script>
<script src="scripts/ui-bootstrap.js"></script>
<script src="app.js"></script>
<!-- All the JS files from App folder -->
<!-- Module Name - login -->
<script src="src/app/modules/login/controllerLogin.js"></script>
<script src="src/app/modules/login/directiveLogin.js"></script>
</body>
请指导我.感谢您的时间和精力.
解决方法:
终于,我能够从@DanWahlin获得帮助,他发现了问题所在.它与我的galaxytest.conf.js文件在一起.
files: [
"public/scripts/angular.js",
"public/scripts/angular-mocks.js",
"public/scripts/ui-bootstrap.js",
"public/scripts/angular-route.js",
"public/app.js",
"public/src/app/modules/login/controllerLogin.js",
"public/test/*Spec.js"
],
谢谢开发人员
标签:angularjs,karma-jasmine,webstorm,javascript 来源: https://codeday.me/bug/20191121/2050357.html