私はすべてに Coffeescript を使用していますchai.js
が、テストに含めようとして問題が発生しました。
私configs/testacular.conf.js
はこのように見えます(相対に注意してくださいbasePath
):
basePath = '../';
// Install devDependencies with `npm install` first before attempting to run Testacular!
files = [
MOCHA,
MOCHA_ADAPTER,
'assets/js/lib/**/*.js',
'test/lib/angular/*.js',
'test/unit/**/*.coffee',
'assets/js/*.coffee',
'node_modules/chai/chai.js'
];
autoWatch = true;
browsers = ['Chrome'];
chai をwithnode_modules/chai/chai.js
経由でインストールしたいので、ソースに含めるのではなくリストします。devDependencies
npm install
私のテストは生きていてtest/unit/coolSpec.coffee
、次のように読みます:
"use strict"
should = chai.should()
# Mocha/Chai specs for controllers go here
describe "OverviewCtrl", ->
beforeEach ->
ctrl = new OverviewCtrl()
it "should do something awesome.", ->
1.should.be.a 'string'
しかし、testacular は見つかりませんchai
。
Uncaught ReferenceError: chai is not defined
at /.../test/unit/coolSpec.coffee-compiled.js:5
Chrome 25.0 (Linux): Executed 0 of 0 ERROR (0.386 secs / 0 secs)
RequireJS に頼らずにJavascript のインポートを管理するにはどうすればよいですか??
編集:ここのtestacularドキュメントによると、 files 配列にファイルをリストする効果は、<script>
テスト時にブラウザーにタグを挿入する効果とまったく同じです。これは、すべてのシンボルがインポートされたことを意味します。
しかし、それが問題なのかもしれません: http://chaijs.com/chai.js自体は RequireJS 用に書かれています。使うしかないかも!