1

У меня есть следующий угловой контроллерИзменение угловой в транспортире

.... 
.controller('EndCtrl', ['$scope', '$location', 'Players', function($scope, $location, Players) { 
    console.log('players', Players); 
    $scope.players = Players; 
    $scope.go = function (path) { 
     Players = []; 
     $location.path(path); 
    }; 
}]); 

Где Players является поставщиком angular.value().

Я пытаюсь запустить тест транспортир, где нужно установить Players, прежде чем что-нибудь случится на странице

таким образом ....

..... 
beforeEach(function(){ 
    browser.get('#/end'); 
    browser.waitForAngular(); 
    browser.executeScript(function(json) { 
     var mod = angular.module('myApp.players'); 
     mod.run(['Players', function(Players){ 
      Players = [json.characters[0], json.characters[1]]; 
      console.log(Players, 'player browser'); 
     }]); 
     console.log('player browser', mod); 
    }, json); 

    }); 

Однако при выполнении теста, кажется, который будет выполнен после факта.

Мне нужно установить значение перед запуском контроллера ....

+1

Попробуйте переместить 'browser.waitForAngular();' после команды 'mod.run()'. –

ответ

1

Вам нужно изменить Players перед EndCtrl инициализирует.

Почему бы не сделать это на другом виде, а затем нажать ссылку, которая идет на конечную страницу (с EndCtrl).

Затем будет введено модифицированное Players.