そこで、CoffeeScriptで記述されたMochaとChaiを使用して単体テストを実行しようとしています。Mochaが1.0以降のcoffeescriptを除外していることを知っているので、コンパイラフラグを渡しmocha --compilers coffee:coffee-script
ます。最終的に発生するのは、テストでファイルを要求しようとすると、コンパイラーがこのエラーで文句を言うことです。それ以外の場合は正常に動作します。
/usr/local/lib/coffee-script/lib/coffee-script.js:36
throw err;
^
TypeError: In /Users/chietala/workspaces/twl/test/buttonTest.coffee, Array.prototype.indexOf called on null or undefined
at indexOf (native)
at Assign.exports.Assign.Assign.isStatement (/usr/local/lib/coffee-script/lib/nodes.js:1147:72)
at Block.exports.Block.Block.compileNode (/usr/local/lib/coffee-script/lib/nodes.js:262:27)
at Block.exports.Block.Block.compileWithDeclarations (/usr/local/lib/coffee-script/lib/nodes.js:308:19)
at Block.exports.Block.Block.compileRoot (/usr/local/lib/coffee-script/lib/nodes.js:282:19)
at Block.exports.Block.Block.compile (/usr/local/lib/coffee-script/lib/nodes.js:244:21)
at exports.compile.compile (/usr/local/lib/coffee-script/lib/coffee-script.js:31:51)
at Object.require.extensions..coffee (/usr/local/lib/coffee-script/lib/coffee-script.js:13:17)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at /usr/local/lib/node_modules/mocha/bin/_mocha:300:27
at Array.forEach (native)
at load (/usr/local/lib/node_modules/mocha/bin/_mocha:297:9)
at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:288:1)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:487:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)
私のテストファイルにあるのは次のとおりです
ButtonConsumer = require '../button/base/coffee/ButtonConsumer'
そして、ButtonConsumerは次のようになります。
class ButtonConsumer
constructor: ->
ディレクトリ構造は
/
test
buttonTest.coffee
button
base
coffee
ButtonConsumer.coffee
それはかなり素朴な骨なので、私は本当に混乱しています。Node v0.8.1、Coffeescript v1.2.0、およびmocha1.2.2を実行しています。