web-dev-qa-db-ja.com

Blanket.js対Istanbul-js対JSCover

私はJSテストコードカバレッジツールを決定しようとしていますが、それらの違いをはっきりと見ることができません。 Googleのトップヒットは、blanket.js、istanbul-js、およびJSCoverです。

誰もがそれらの主な違いと長所/短所に関する情報を提供できますか?

他に役立つものはありますか?

35

いくつか試してみた結果、istanbulがノードにカバレッジ分析をもたらす最も便利なツールであることがわかりますjsプロジェクト。

  • npm installでインストールされている
  • 。istanbul.ymlを介して動作を設定します
  • 独自の実行可能ファイルによって呼び出されます
  • クローバー、lcov、jscoverageなどの複数のレポート形式を提供します。

Istanbulは、提供された実行可能ファイルまたはjs-scriptを使用して、テストを実行し、カバレッジ情報を収集します。 npmでインストールできます:

npm install istanbul mocha

インストールが成功した後、単にそれを呼び出す

./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha

モカは_mocha-実行可能ファイルを明記されているようにフォークするため、「_」を尊重 ここ

blanket.jsnodejsは、

  • npm installでインストールされている
  • package.jsonを介してその動作を設定する
  • コマンドラインでblanketを要求することにより、mochaによって呼び出されます
  • mochaのレポーター、つまりhtml-covによって解釈される統計の生成
  • ブラウザJSで使用できます

基本的にそれはやった後に使用する準備ができています

npm install blanket mocha

インストールが成功したら、そのようなモカテストを実行してください

./node_modules/.bin/mocha --require blanket --reporter html-cov >coverage.html

残念ながら、モカに提供できるレポーターは1人だけなので、カバレッジ情報を収集し、テストレポートを収集する場合は、モカテストを2回呼び出す必要があります。

JSCoverについては、そのインストールが複雑なため、何も言えません。私にとって重要なのは、他のユーザーが開発環境を作成するのが複雑になるため、ルートとしてパッケージをインストールしたり、コンパイルしたりする必要がないことです。

31
smoebody