1

ハイホー、

Mocha の設定に問題があります。Babel でコンパイルする必要がある ES6 コードがあり、この ES6 コードのカバレッジ (LCOV 形式) を取得したいと考えています。

この問題に対する私のアプローチは、、、およびパッケージを使用することmochaでした。コード構造は次のとおりです。mocha-lcov-reporterbabelblanket

-- src
----- ...
-- test
----- spec
-------- something.spec.js
-------- ...
----- blanket.js

仕様はディレクトリ (パターンにtest/specも一致) にあり、次のとおりです。*.spec.jsblanket.js

require('blanket')({
    pattern: require('path').join(__dirname, '..', 'src')
});

私が準備したコマンドは次のとおりです。

./node_modules/.bin/mocha $(find test -name '*.spec.js') --recursive --compilers js:babel/register -r test/blanket -R mocha-lcov-reporter

したがって、すべてのファイルに対して Mocha テストを実行し*.spec.js、それらを Babel でコンパイルし、test/blanket.jsファイルを開始する必要があります。

このコマンドを開始すると、Error: Line 1: Unexpected reserved wordからエラーが発生しesprima.jsます。テスト/ブランケットファイルを必要とせずに実行すると、問題なく実行されますが、ofc はカバーしていません。

誰かがそうしようとしましたか?それを行う方法はありますか?

4

1 に答える 1

2

わかりました、問題は既に解決されていますが、Babel はありません (代わりにネイティブ ES6)。私は別の方法でそれをしました。istanbul-harmonymochaパッケージを使用しました。次に、コマンドは次のとおりです。

./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- $(find test -name '*.spec.js') -R spec -u exports
于 2015-04-21T17:17:31.023 に答える