1

我有一个 Rails 3.1 项目,我想在上面运行一些 jasmine 规范。问题是,我的 rails 项目需要一些来自 gems(尤其是骨干轨)的 javascript 文件,而不是我的 /assets 目录。

查看生成的 jasmine 文件的 HTML,它成功地包含了 JavaScripts /assets 目录中的所有资产(从 coffeescript 编译),但没有 gem 生成的 javascript 文件。因此,我收到了一堆“找不到类”错误。

那么,有什么想法让 jasmine 需要来自 gems 的 Rails 3.1 JavaScript 文件,而不仅仅是 /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
4

2 回答 2

4

我强烈建议jasmine-headless-webkit在 rails 3.1 应用程序中使用 jasmine 测试。这是我的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用于在文件更改时自动运行它们)

这是一种很棒的测试方式。

于 2012-01-26T19:56:38.653 回答
0

最近对 jasmine master 的提交使其能够从资产管道中获取 javascript。它工作得很好。

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

于 2012-01-08T23:45:40.507 回答