У меня есть вложенное контроллер, как показано ниже:AngularJS Жасмин тест блока, как придать родительскую область
<div ng-controller="ParentController">{{ data.value }}
<div ng-controller="ChildController">{{ data.value }}</div>
</div>
app.controller('ParentController', function ($scope) {
$scope.data = {
value: "A"
}
});
Мой контроллер ребенок задает родительскую сферу, как показано ниже:
app.controller('ChildController', function ($scope) {
$scope.data.value = "B";
});
Мой модульный тест Jasmine:
describe('ChildController', function() {
var scope, $rootScope;
beforeEach(inject(function ($controller, _$rootScope_) {
$rootScope = _$rootScope_;
scope = $rootScope.$new();
$controller('ChildController', { $scope: scope});
scope.$digest();
}));
it('should change parent scope', function() {
expect(scope.data.value).toEqual("B");
});
});
Результаты испытаний в "Cannot read property 'value' of undefined"
.
Как я могу протестировать дочерний контроллер, который использует родительскую область?
Результаты теста все еще дают мне ошибку «Невозможно установить значение свойства« неопределенного »на ChildController. – user3213420
Не запускайте дайджест. –