前置き
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 - テストは出来るようになりましたとさ。
- あ、いや、正確には