我遇到了在我的案例中测试rootcope的问题
我有类似
的东西describe('test controller', function () {
var myCtrl, scope, rootScope;
beforeEach(module('myApp'));
beforeEach(inject(function (_$controller_, _$httpBackend_, _$rootScope_) {
rootScope = _$rootScope_;
scope = _$rootScope_.$new();
rootScope = {item:{condition:'new'}};
myCtrl = _$controller_('myCtrl', {
$scope: scope
});
}));
describe('test', function() {
it('should test rootscope' , function() {
scope.setCondition('old');
});
});
});
HTML
$scope.setCondition = function(con) {
$scope.condition = con;
setRoot(con);
};
var setRoot = function(con) {
$rootScope.item.condition = con;
}
我得到了未定义的'不是对象(evaluating '$rootScope.item.condition=con')
我在rootscope
内指定beforeEach
时,我不确定出了什么问题。任何人都可以帮我吗?非常感谢!
答案 0 :(得分:2)
这一行
443
是你的问题。您覆盖了本地rootScope = {item:{condition:'new'}};
变量而没有对rootScope
做任何事情。
试试这个
$rootScope