ページに 2 つのコントローラーがあります。それらは HTML マークアップに「ラップ」され、一方が「親」で、もう一方が「子」になります。
<div id="parent" ng-controller="parentController">
<div id="child" ng-controller=childController">
</div>
</div>
私のコントローラーの JS ファイルでは、「子」コントローラーの「親」コントローラーからオブジェクトを参照します。
親コントローラー:
angular.module('myApp').controller('parentController', function($scope){
$scope.myReferencedObject = {};
$scope.myReferencedObject.someProperty = "hello world";
});
子コントローラー:
angular.module('myApp').controller('childController', function($scope){
$scope.childControllerVariable = $scope.myReferencedObject.someProperty;
});
「子」コントローラーは「親」コントローラー内にネストされているため、親コントローラーのオブジェクトは子コントローラーに継承されます。
すべてのファイルが個々のユニットに分割され、個別にテストされるため、これは Karma テストでは機能しません。プロトタイプの$scope.myReferencedObject.someProperty
継承がないため、単体テスト時に「子」コントローラーで参照が定義されていません。
Karma でこの問題を解決するにはどうすればよいですか?