私はすべてに 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経由でインストールしたいので、ソースに含めるのではなくリストします。devDependenciesnpm 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 用に書かれています。使うしかないかも!