私は、anglejsアプリケーションをQUnitフレームワークでテストしようとしています。
ページ上mysite.ru/#/unittest/
- UnittestCtrl
というコントローラを使用しています。しかし、私のアプリでは、私はDetailCtrl
と私がテストしたい他のページがあります。問題は、unittestページからDetailCtrl
のスコープにアクセスできないことです。anglejsの特定のコントローラからスコープを取得
これは、Unittestコントローラの有効範囲をmysite.ru/#/unittest/
にするために使用するコードです。どのようにしてDetailCtrl
からスコープにアクセスできますか?
var appElement = document.querySelector('[ng-app=TheApp]');
var appScope = angular.element(appElement).scope();
var controllerScope = appScope.$$childHead;
console.log(controllerScope.link);
また、私はこれを試してみましたが、それは何の成果がありません:
var serviceLocator = angular.injector(["TheApp"])
scope = serviceLocator.get('$rootScope')
var $controller = serviceLocator.get('$controller');
$controller('DetailCtrl', {
$scope: scope
});
エラー:Unknown provider: $rootElementProvider <- $rootElement <- $location <- $route
マイDetailCtrl
Controllers.controller('DetailCtrl', ['$scope', '$routeParams', '$http', '$route',
function($scope, $routeParams, $http, $route) {
$scope.reloadRoute = function() {
window.location.reload();
};
$scope.cityId = $routeParams.cityId;
...