编程语言
首页 > 编程语言> > javascript-参数’controllerLogin’不是函数,未定义-AngularJs,业力测试

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