Ho appena installato AngularJS 1.2.24 e sto provando a testare la mia direttiva. Il codice si presenta come segue:
describe('scenarios', function() {
var scope, compile;
beforeEach(module("app"));
beforeEach(module("src/widgets/tt-header/header.html"));
beforeEach(inject(function ($compile, $rootScope) {
scope = $rootScope.$new();
compile = $compile;
}));
function directive() {
var el = angular.element('<div tt-header />');
compile(el)(scope);
scope.$digest();
return el;
}
it('should load the directive', function() {
var el = directive();
expect(el).not.toBe(undefined);
});
});
Poi, quando ho eseguito il test ottengo il seguente messaggio durante l'esecuzione di portata $ digerire():.
PhantomJS 1.9.7 (Mac OS X) tt-header scenarios should load the tt-header directive FAILED
TypeError: 'undefined' is not a function (evaluating '$browser.$$checkUrlChange()')
at /Users/alansouza/tt-workspace/tt-app-angular/vendor/angular/angular.js:12502
at ttHeader (/Users/alansouza/tt-workspace/tt-app-angular/tests/widgets/tt-header/tt-header-specs.js:20)
at /Users/alansouza/tt-workspace/tt-app-angular/tests/widgets/tt-header/tt-header-specs.js:27
Sembra essere qualcosa legato per url cambiamenti nel browser. Ho confrontato le versioni precedenti e questo mi sembra un nuovo codice.
Ho provato a ripristinare la versione 1.2.21 di lavoro precedente e tutto funziona correttamente.
Sto facendo qualcosa di sbagliato qui?
Si prega di inviare il messaggio di errore esatto e traccia dello stack. – gkalpak
Questo sembra essere un bug con 1.2.24. Ho eseguito il downgrade alla versione 1.2.23 e funziona di nuovo correttamente. –
Come richiesto, ho aggiunto la traccia completa dello stack ... –