04
2016

mochaでES2015のimport/exportがあるソースをテストする方法

CATEGORYJavaScript
Babel でコンパイルしてるES2015準拠で書いたクライアント側のJavaScriptソース、テストは mochaNode.js v6系で動かすので普通に動くだろうと思ったら、 import/export だけ認識されなくてこけたのであれこれ調べて対処した話。

結論から言うと、結局よくわからず↓のシェルスクリプト書いて動かした。
rm -rf ./tmp && mkdir ./tmp && cp -r ./test ./tmp/test && (find ./test -name "*.js" | awk '{print "browserify " $1 " -t [ babelify --presets [ es2015 ] ] -d -o ./tmp/" $1}' | sh) && mocha --recursive ./tmp/test
テストソースを browserify+babel で1ファイルごとにビルドして、そのソースに対してテスト実行。
でも絶対これ推奨されるやり方ではない気がする…

ググると babel/register でとか書いてるページも見つかるけど、それだとテストが動く状態まで辿り着けず。。。
うーんとりあえずこれでもテストは出来るから良しとするか(--;


Twitterで import/export は仕様未確定でも babel/register で出来るよとのヘルプを頂き、再度調べなおしたところ .babelrc作って動かすという話を発見。
package.json に↓こんな感じに presets を設定して、無事動作しました。感謝!m(__)m
{
"name": "my-package",
"version": "1.0.0",
"scripts": {
"test": "mocha --compilers js:babel-register --recursive ./test"
},
"babel": {
"presets": [
"es2015"
]
}
}
スポンサーサイト

Tag: JavaScript Mocha

0 Comments

Leave a comment