Тест Жасмин не видит модуль 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-файлы, чтобы убедиться, что ни один из них не испорчен или не поврежден.

Другие вопросы по тегам