Rails 3.1 バックエンドで backbone.js アプリを構築しています。私は CoffeeScript を使用してバックボーン クラスを記述し、Jasmine (jasmine-headless-webkit 経由) をテスト用に使用しています。
次の (部分的な) ツリーがあるとします。
.
├── app
│ ├── assets
│ │ ├── javascripts
│ │ │ └── views
│ │ │ ├── avia_view.js.coffee
├── spec
│ ├── javascripts
│ │ └── views
│ │ └── avia_view_spec.js.coffee
...で定義されてavia_view_spec.js.coffee
いる について知っていると思います。Avia.AviaView
avia_view.js.coffee
ただし、実行すると次の出力が得られますbundle exec jasmine-headless-webkit
。
Running Jasmine specs...
F
Avia.AviaView render creates a new MatricesView . (/home/duncan/avia/spec/javascripts/views/avia_view_spec.js.coffee:10)
ReferenceError: Can't find variable: Avia in /home/duncan/avia/spec/javascripts/views/avia_view_spec.js.coffee (line ~5)
ReferenceError: Can't find variable: Avia in /home/duncan/avia/spec/javascripts/views/avia_view_spec.js.coffee (line ~10)
Myjasmine.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
Jasmine にコンテンツをロードするように指示する必要があると思いますavia_view.js.coffee
が、その方法が完全にはわかりません。src_files
のセクションに明示的な参照を追加しjasmine.yml
ても、違いはないようです...
誰かが私がここで間違っていることを教えてもらえますか? 私はそれが単純なものだと思う...