我正在尝试测试控制器。我能够用angular js制作简单的控制器,并且能够在线测试控制器。这是我的代码
http://plnkr.co/edit/xzvhXHPoUdulOM9clOkQ?p=preview
控制器代码
(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上测试
这是我的电脑代码
https://dl.dropbox.com/s/no901z41bza7osm/SimpleDemo.zip?dl=0
请下载并转到项目目录并编写npm install
最佳答案
您应该将控制器名称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)
}
}
})();
会的。