Я пытаюсь проверить мое приложение angularjs через рамки QUnit.
На странице mysite.ru/#/unittest/
- Я использую контроллер под названием UnittestCtrl
. Но в моем приложении у меня есть DetailCtrl
и другая страница, которую я хочу протестировать. Проблема в том, что я не могу получить доступ к области DetailCtrl
со страницы unittest.получить область от определенного контроллера в angularjs
Это код, который я использую для получения области управления 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;
...