2014-09-18 6 views
6

Ho il seguente test:

it('should maintain a bind between the data at the $scope to the data at the ingredientsService', function(){ 
    $scope.addFilters('val1', $scope.customFiltersData, 'filter1'); 
    $scope.$digest(); 
    expect($scope.customFiltersData).toEqual(ingredientsService.filters()); 
}); 

ottengo il seguente errore:

TypeError: undefined is not a function 
    at Scope.$digest (/home/oleg/dev/vita-webapp-new/bower_components/angular/angular.js:12502:17) 
    at null.<anonymous> (/home/oleg/dev/vita-webapp-new/test/spec/controllers/customfilters.js:92:20) 

Quando il debug ho visto che $browser.$$checkUrlChange on line 12502 di angular.js è davvero indefinito.

Come soluzione temporanea, ho cambiato l'invocazione on line 1250-$browser.$$checkUrlChange && $browser.$$checkUrlChange()

ma non posso aiutare a chiedersi se questa scimmia-patch può farmi del male in qualche altro modo.

Qualsiasi suggerimento su come risolvere questo problema è molto apprezzato.

Nel caso in cui non ottengo le mie risposte, potrei considerare l'apertura di un bug nel repository Angular su GitHub.

+1

possibile duplicato del [test di gelsomino fallisce con indefinito non è una funzione (. Valutando $ del browser $$ checkUrlChange())] (http://stackoverflow.com/questions/25785149/ jasmine-test-fail-with-undefined-is-not-a-functionevaluating-browser-checku) –

+0

Dovresti pubblicare la risposta, signore :) –

risposta