前置き
ES2015 大好きな @monry です。
hubot のテストも ES2015 で書きたいお年頃なので、普通に書いてたら Cannot find module 'hubot'
と言われてテストを開始できない事案が発生。
どうにか解決出来たので、その知見を備忘録として書き殴る。
結論
gulpfile.js
にて require('coffee-script/register');
を書きましょう。
(細かいコト言うと、ボクは gulpfile.js
すら ES2015 で書いてるので、弄ったファイルは gulpfile.babel.js
なのだが。)
経緯
-
hubot-test-helper
のリポジトリ 上に Closed な Issue が上がっているのを発見。 - すげーザックリ要約すると「
hubot
は内部的に CoffeeScript なモジュールしかないから、別途コンパイルする必要があるよ!」みたいな感じらしい。 - 最初は
gulp.src(test_scripts_path).pipe(babel()).pipe(mocha({reporter: 'spec', require: 'coffee-script/register'}))
とかやってみたけど、全然だめ。 - ふと、「ん?
require
?ってことは、普通に書いてみたらどーなんの?」と思って書いてみる。 -
テスト通った!!!
- あ、いや、正確には
1 failing
って言われましたけどねw - テストは出来るようになりましたとさ。
- あ、いや、正確には