teste de unidade de rota angularjs
Como vemos aqui emhttp://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'});
}]);
teste de roteamento é sugerido para ser feito com o teste e2e,
it('should redirect index.html to index.html#/phones', function() {
browser().navigateTo('../../app/index.html');
expect(browser().location().url()).toBe('/phones');
});
No entanto, acho que a configuração '$ routeProvider' é feita com uma única função, função ($ routeProvider), e poderemos testar a unidade sem o envolvimento do navegador, pois acho que a função de roteamento não requer o DOM do navegador.
Por exemplo,
quando url é / foo, templateUrl deve ser /partials/foo.html e o controlador é FooCtrl
quando url é / bar, templateUrl deve ser /partials/bar.html e o controlador é BarCtrl
É uma função simples IMO, e também deve ser testado em um teste simples, um teste unitário.
Eu pesquisei e procurei por este teste unitário $ routeProvider, mas ainda não tive sorte.
Acho que posso pegar emprestado algum código daqui, mas não consegui,https://github.com/angular/angular.js/blob/master/test/ng/routeSpec.js.