Javascript ';homecntrl';不是函数,在angularjs中未定义

Javascript ';homecntrl';不是函数,在angularjs中未定义,javascript,angularjs,angularjs-directive,jasmine,karma-jasmine,Javascript,Angularjs,Angularjs Directive,Jasmine,Karma Jasmine,我正在尝试测试我的控制器。我能够用angular js制作简单的控制器,并且能够在线测试控制器。这是我的代码 控制器代码 (function(){ 'use strict'; angular.module('app.home').controller('homeCntrl',homeCntrl); function homeCntrl(){ var home=this; home.clickbtn=function(){ home.message='

我正在尝试测试我的控制器。我能够用angular js制作简单的控制器,并且能够在线测试控制器。这是我的代码

控制器代码

(function(){
  'use strict';
  angular.module('app.home').controller('homeCntrl',homeCntrl);

  function homeCntrl(){
    var home=this;
    home.clickbtn=function(){

      home.message='test';
      alert(home.message)
    }
  }
})();
但是,当在我的电脑中进行测试时,它不会运行,并且会出现此错误

**Argument 'homecntrl' is not a function, got undefined
        http://errors.angularjs.org/1.4.8/ng/areq?p0=homecntrl&p1=not%20a%20function%2C%20got%20undefined
            at /Users/naveenkumar/Documents/ionic_work/SimpleDemo/bower_components/angular/angular.js:68:12**
这是我的测试代码

(function(){

    'use strict'
    describe('http controller test', function() {

        var $rootScope,
            $scope,
            controller,
            $q,
            $httpBackend;

        beforeEach(function() {
            module('app');

            inject(function($injector) {
                $rootScope = $injector.get('$rootScope');
                $scope = $rootScope.$new();
                controller = $injector.get('$controller')('homecntrl', {
                    $scope: $scope
                })


            })
        })




        describe('Init value', function() {
            it('check name value', function() {
                expect(controller.message).toBeUndefined();
            })

        })

        it('it should be true', function() {
            expect(true).toBeTruthy();

        })
    })


})()
我可以在线测试,但不能在pc上测试

这是我的电脑代码


请下载它并转到项目目录并编写npm安装

您应该将控制器名称
homeCntrl
更新为
homeCntrl

(function(){
  'use strict';
  angular.module('app.home').controller('homecntrl',homeCntrl);

  function homecntrl(){
    var home=this;
    home.clickbtn=function(){

      home.message='test';
      alert(home.message)
    }
  }
})();

这将起作用。

您应该将控制器名称
homeCntrl
更新为
homeCntrl

(function(){
  'use strict';
  angular.module('app.home').controller('homecntrl',homeCntrl);

  function homecntrl(){
    var home=this;
    home.clickbtn=function(){

      home.message='test';
      alert(home.message)
    }
  }
})();

它会工作。

仍然不工作。请下载我的代码,然后检查仍然不工作。请下载我的代码,然后检查