我在Angularjs中创建一个控制器并尝试使用Jasmine测试该控制器。我收到此错误无法读取属性'消息'未定义的为什么?
Here是我的代码。
控制器
(function(){
'use strict';
angular.module('app.home').controller('homeCntrl',homeCntrl);
function homeCntrl(){
var home=this;
home.clickbtn=function(){
home.message='test';
alert(home.message)
}
}
})();
测试
(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();
})
})
})();
任何更新?在测试中我得到了这个错误..?我们可以对这个控制器进行测试吗?对于角度js代码问题,测试代码上的每一件事都很好。只检查 appspec.js
答案 0 :(得分:1)
只是一个提示
应用
a
测试
display: inline-block
在你的情况下,测试应该像
(function() {
'use strict';
function HomeController() {
var home = this;
home.title = 'Home';
}
angular.module('home.controllers', [])
.controller('HomeController', HomeController);
})();
查看http://www.bradoncode.com/tutorials/angularjs-unit-testing/以角度
为主要单位测试