Тест Жасмин не видит модуль AngularJS
Я пытаюсь провести модульное тестирование службы Angular с помощью файла спецификации Jasmine. Это требует, чтобы модуль был загружен. Вот простая спецификация, разработанная в попытке просто загрузить модуль Angular:
describe('Submission services', function () {
it('Finds angular', function () {
module('submissionServices');
});
});
Когда я запускаю Jasmine, это приводит к следующей ошибке
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
Файл jasmine.yml содержит
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
Версии программного обеспечения:
- Рельсы 3.2.7
- жасмин ядро 1.2.0
- jasmine-headless-webkit 0.8.4
- AngularJS 1.0.2
Что мне нужно сделать, чтобы Жасмин нашла Angular?
2 ответа
Убедитесь, что вы включили http://code.angularjs.org/1.1.0/angular-mocks.js для функций angular-jasmine-helper, таких как module
,
Вероятно, это маловероятный шанс, но у меня возникла та же проблема, и я обнаружил, что мой файл angular-mocks.js поврежден, в нем был HTML. Я понятия не имею, как он туда попал. Итак, если вы получаете эту ошибку после попытки исправить, дважды проверьте все ваши js-файлы, чтобы убедиться, что ни один из них не испорчен или не поврежден.