Skip to content
Latchkey

c8 vs nyc: CIにはどちらのNodeカバレッジツールか

c8は計装なしでネイティブなV8カバレッジを読み取り、nyc(istanbul)は精密で設定可能なレポートのためにコードを計装します。

c8はNode組み込みのV8カバレッジを使い、ソースを計装せずにレポートするため高速でESMに優しいです。nycはコードを計装して詳細で高度に設定可能なカバレッジを得るistanbulのCLIで、長年のNode標準です。

c8nyc
方式ネイティブなV8カバレッジistanbulの計装
速度高速(計装なし)より遅い
ESMサポートシームレス動作する(設定)
精度/設定良好、ノブは少なめ非常に精密、設定可能
成熟度モダン確立された標準

CIでは

c8はより速く摩擦の少ない選択です。build時の計装なしにV8自身のカバレッジデータを読み取り、ESMをシームレスに扱うため、カバレッジ時間を削減します。nycはソースを計装して非常に精密で設定可能な行/ブランチのレポートを得て、多くのセットアップと統合します。速度とESMが重要ならc8、きめ細かいistanbulのレポートと設定が必要ならnycです。

CIでのカバレッジ

リグレッションをgateするためにカバレッジのthresholdを設定し、レポートをカバレッジサービスにアップロードします。どちらもテストに加えて作業を追加します。高速なmanaged runnerはツールに関わらずカバレッジの重い実行を短縮します。

結論

最小限の設定で高速かつESMに優しいカバレッジが欲しいなら: c8。精密で高度に設定可能なistanbulのレポートが必要なら: nyc。モダンなESMプロジェクトではc8がしばしばよりシンプルな勝ちで、nycは詳細なレポートで依然として強力です。

関連ガイド