Rails 3.1 и Jasmine: включение JavaScript из драгоценных камней

У меня есть проект rails 3.1, на котором я хотел бы запустить некоторые спецификации jasmine. Проблема в том, что для моего проекта rails требуются некоторые файлы javascript, полученные из драгоценных камней (особенно из backbone-rails), а не из моего каталога /assets.

Глядя на HTML-код сгенерированного файла jasmine, он успешно включает все активы из каталога JavaScripts/assets (скомпилированного из coffeescript), но не файлы javascript, сгенерированные драгоценными камнями. Следовательно, я получаю кучу ошибок «класс не найден».

Итак, есть идеи, как заставить jasmine требовать файлы JavaScript Rails 3.1 от драгоценных камней, а не только /assets? Текущий файл jasmine.yml приведен ниже. Любые идеи приветствуются

src_files:
  - public/javascripts/prototype.js
  - public/javascripts/effects.js
  - public/javascripts/controls.js
  - public/javascripts/dragdrop.js
  - public/javascripts/application.js
  - public/javascripts/**/*.js
  - spec/**/*_spec.js
  - "vendor/**/*.{js, coffee}"
  - "lib/**/*.{js, coffee}"
  - "app/**/*.{js, coffee}"

stylesheets:
  - stylesheets/**/*.css

helpers:
  - helpers/**/*.js

spec_files:
  - '**/*[sS]pec.{js, coffee}'

src_dir: assets

spec_dir: spec/javascripts

person PlankTon    schedule 08.01.2012    source источник
comment
Каков ваш метод запуска тестов: ad hoc или стратегия CI/deploy?   -  person rxgx    schedule 08.01.2012
comment
rxgx: На данный момент ad hoc. Грабли жасминовые; локальный: 8888   -  person PlankTon    schedule 08.01.2012
comment
Требуют ли какие-либо из драгоценных камней запуска задачи rake для создания javascript или таблиц стилей?   -  person rxgx    schedule 10.01.2012
comment
rxgx: Нет, javascript backbone.js берется из папки /lib гема, а не генерируется в приложении.   -  person PlankTon    schedule 11.01.2012


Ответы (2)


Я настоятельно рекомендую использовать jasmine-headless-webkit для тестирования jasmine в приложениях rails 3.1. Вот мой jasmine.yml файл:

src_dir: app/assets/javascripts
asset_paths:
- app/assets/templates
- lib/assets/javascripts
- vendor/assets/javascripts

src_files:
- [ 'application.js' ]

spec_dir: spec/javascripts

spec_files:
- "**/*[Ss]pec.*"

helpers:
- "helpers/**/*"

Я использую это с jasmine-headless-webkit для запуска тестов в командной строке (используя watchr для их запуска автоматически при изменении файла)

Это прекрасный способ проверить.

person wulftone    schedule 26.01.2012

Довольно недавние коммиты в jasmine master позволяют ему получать javascripts из конвейера активов. Это прекрасно работает.

https://github.com/pivotal/jasmine-gem/commits/master

person maxl0rd    schedule 08.01.2012
comment
Похоже, его проблема связана с javascripts, которых нет в конвейере активов. - person wuliwong; 22.04.2014