Ich habe zwei Controller auf einer Seite. Sie sind in einer HTML-Markierung "eingewickelt", wobei einer der "Eltern" und der andere der "Kind" ist, wie folgt:
In den JS-Dateien für meine Controller verweise ich auf ein Objekt aus dem "Eltern"-Controller im "Kind"-Controller.
Eltern-Controller:
angular.module('myApp').controller('parentController', function($scope){
$scope.myReferencedObject = {};
$scope.myReferencedObject.someProperty = "hello world";
});
Kind-Controller:
angular.module('myApp').controller('childController', function($scope){
$scope.childControllerVariable = $scope.myReferencedObject.someProperty;
});
Weil der "Kind"-Controller im "Eltern"-Controller verschachtelt ist, wird das Objekt aus dem Eltern-Controller im Kind-Controller geerbt.
Dies funktioniert in einem Karma-Test nicht, da alle Dateien in einzelne Einheiten aufgeteilt und separat getestet werden. Der Verweis $scope.myReferencedObject.someProperty
ist in meinem "Kind"-Controller beim unit testing undefined, da es keine prototypische Vererbung gibt.
Wie löse ich dieses Problem in Karma?