$parentスコープ変数を監視している場合、ウォッチャーをどのようにテストできますか? たとえば、私は子のスコープを持っています:
$scope.$parent.$watch('activeId', function (hotelId) {
$scope.select(activeId);
});
現在、テストは次のようになっています。
...
beforeEach(inject(function (_$controller_, _$rootScope_) {
$scope = _$rootScope_.$new();
$parentScope = _$rootScope_.$new();
$controller = _$controller_('ChildCtrl', {'$scope': $scope});
$parentController = _$controller_('ParentCtrl', {'$scope': $parentScope});
}));
describe('select', function () {
beforeEach(function () {
spyOn($scope, 'select');
});
it('should call select', function () {
$parentScope.setActiveId(1);
$parentScope.$digest();
expect($scope.select).toHaveBeenCalled();
});
});
});
しかし、残念ながらこのテストは失敗します。