модульное тестирование маршрута angularjs
Как мы видим здесь, вhttp://docs.angularjs.org/tutorial/step_07,
angular.module('phonecat', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/phones', {templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl}).
when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}).
otherwise({redirectTo: '/phones'});
}]);
тест на маршрутизацию предлагается сделать с тестом e2e,
it('should redirect index.html to index.html#/phones', function() {
browser().navigateTo('../../app/index.html');
expect(browser().location().url()).toBe('/phones');
});
Тем не менее, я думаю, что$ RouteProvider» Конфигурация выполняется с помощью единственной функции - функции ($ routeProvider), и мы должны иметь возможность проводить модульное тестирование без участия браузера, так как я думаю, что функция маршрутизации не требует браузера DOM.
Например,
когда url равен / foo, templateUrl должен быть /partials/foo.html, а контроллер - FooCtrl
когда url равен / bar, templateUrl должен быть /partials/bar.html, а контроллер - BarCtrl
Это простая функция IMO, и она также должна быть протестирована в простом тесте, модульном тесте.
Я гуглил и искал этот тестовый модуль $ routeProvider, но пока не повезло.
Я думаю, что я могу заимствовать некоторый код отсюда, но не могсделать это еще,https://github.com/angular/angular.js/blob/master/test/ng/routeSpec.js.