node modules
npm install -D babel babel-register babel-preset-latest babel-preset-react babel-plugin-espower mocha power-assert enzyme react-addons-test-utils jsdom jsdom-global
npm install -S react
設定
.babelrc
.babelrc
{
"presets": [
"latest",
"react"
],
"plugins": [
"babel-plugin-espower"
]
}
- test内でjsx syntaxを書くのでpresetsに"react"の指定が必要
-
.babelrc
を使いたくない場合は、babel-plugin-espower#via-babel-require-hookのようなスクリプトを用意して、以下のようにmochaの"-r"オプションでbabel-register
の代わりに渡すとよい - presetなどはお好きに
実行
./node_modules/.bin/mocha -r babel-register -r jsdom-global/register path/to/test/**/*.js
-
babel-register
をrequireすることで、ES.next + Reactなテストコードをトランスパイルして実行できる - enzymeの
render
,mount
methodを実行する為にwindow.document
などのcontextが必要なので、jsdom-global/register
をrequireすることによって設定する- 公式からリンクしているサンプルだとenzyme-example-mocha/test/.setup.jsのようなファイルを実行しているがその必要がなくなる