Ich versuche, meine angularjs App durch QUnit Framework zu testen.
Auf der Seite mysite.ru/#/unittest/
- Ich verwende einen Controller namens UnittestCtrl
. Aber in meiner App habe ich eine DetailCtrl
und andere Seite, die ich testen möchte. Das Problem ist, dass ich keinen Zugriff auf den Bereich DetailCtrl
von der Unittest-Seite bekommen kann.bekomme Umfang von einem bestimmten Controller in angularjs
Das ist der Code, den ich verwende, um den Geltungsbereich des Unittest-Controllers auf mysite.ru/#/unittest/
zu erhalten. Wie kann ich von DetailCtrl
auf den Bereich zugreifen?
var appElement = document.querySelector('[ng-app=TheApp]');
var appScope = angular.element(appElement).scope();
var controllerScope = appScope.$$childHead;
console.log(controllerScope.link);
Ich habe auch versucht, dies hat aber kein Ergebnis:
var serviceLocator = angular.injector(["TheApp"])
scope = serviceLocator.get('$rootScope')
var $controller = serviceLocator.get('$controller');
$controller('DetailCtrl', {
$scope: scope
});
Der Fehler: Unknown provider: $rootElementProvider <- $rootElement <- $location <- $route
Mein DetailCtrl
Controllers.controller('DetailCtrl', ['$scope', '$routeParams', '$http', '$route',
function($scope, $routeParams, $http, $route) {
$scope.reloadRoute = function() {
window.location.reload();
};
$scope.cityId = $routeParams.cityId;
...