J'essaie de tester un service Angular service avec un fichier de spécifications Jasmine. Cela nécessite qu'un module soit chargé. Voici une spécification simple conçue dans le but de charger simplement le Angular:
describe('Submission services', function () {
it('Finds angular', function () {
module('submissionServices');
});
});
Lorsque j'exécute Jasmine, cela se traduit par l'erreur suivante
Running Jasmine specs...
FAIL: 1 test, 1 failure, 0.004 secs.
Submission services Finds angular. (/Users/XXX/Projects/globe_town/spec/javascripts/SubmissionsSpec.js:3)
ReferenceError: Can't find variable: module
Test ordering seed: --seed 1826
rake aborted!
Jasmine::Headless::TestFailure
Le fichier jasmine.yml contient
src_files:
- public/javascripts/jquery.js
- spec/javascripts/lib/angular/angular.js
- spec/javascripts/lib/angular/angular-resource.js
- app/assets/javascripts/services/submissions.js
stylesheets:
- stylesheets/**/*.css
helpers:
- helpers/**/*.js
spec_files:
- '**/*[sS]pec.js'
src_dir:
spec_dir: spec/javascripts
Les versions du logiciel sont:
Que dois-je faire pour que Jasmine trouve Angular?
Assurez-vous d'inclure http://code.angularjs.org/1.1.0/angular-mocks.js pour les fonctions d'aide angulaire-jasmin comme module
.
C'est probablement une chance éloignée mais j'ai eu le même problème et j'ai découvert que mon fichier angular-mocks.js était corrompu, il y avait du HTML dedans. Je ne sais pas comment cela est arrivé. Donc, si vous obtenez cette erreur après avoir essayé de corriger, vérifiez tous vos fichiers js pour vous assurer qu'aucun d'entre eux n'est foiré ou corrompu.