Edited at

mochaとchaiでハマったところのメモ

More than 5 years have passed since last update.

http://qiita.com/sawamur@github/items/2b997ae4590a530a068e

上記を参考に(というか、そのまま)実行したら少しハマったのでメモ


症状

$ export NODE_PATH=/usr/local/lib/node_modules 

$ mocha --compilers coffee:coffee-script tests/

テスト実行のコマンドを叩いたら、下記のエラーが発生

tion (exports, require, module, __filename, __dirname) { chai = require 'chai'

^^^^^^
SyntaxError: Unexpected string
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /usr/local/lib/node_modules/mocha/lib/mocha.js:172:27
at Array.forEach (native)
at Mocha.loadFiles (/usr/local/lib/node_modules/mocha/lib/mocha.js:169:14)
at Mocha.run (/usr/local/lib/node_modules/mocha/lib/mocha.js:356:31)
at Object.<anonymous> (/usr/local/lib/node_modules/mocha/bin/_mocha:366:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3


対処法

適当にググったら、下記の記事にヒット

https://github.com/visionmedia/mocha/issues/1120

回答を見た感じ、コマンドのオプションに/registerを付けないといけないらしい。

↓こんな感じ

$ export NODE_PATH=/usr/local/lib/node_modules 

$ mocha --compilers coffee:coffee-script/register tests/

ただ、なんで/registerつけたら解決できるのかまでは解ってないです。

(質問と回答の英文読めれば解るんだろうけど。