Как мы видим здесь в 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), и мы должны иметь возможность unit test без участия браузера, поскольку я считаю, что функция маршрутизации не требует браузера DOM.
Например,
когда url is/foo, templateUrl должен быть /partials/foo.html, а контроллер - FooCtrl
когда url is/bar, templateUrl должен быть /partials/bar.html, а контроллер - BarCtrl
Это простая функция IMO, и она также должна быть протестирована в простом тесте unit test.
Я googled и искал этот $routeProvider unit test, но пока не удался.
Я думаю, что я могу взять у него какой-то код, но не смог его сделать, https://github.com/angular/angular.js/blob/master/test/ng/routeSpec.js.