非常に単純でどこにでもあると思うので、短くて一見ばかげた質問です: RequireJS フロントエンド プロジェクト (非 NodeJS) 内で動作するコード カバレッジを得た人はいますか?
JS の世界で TDD アプローチが普及し、AMD 開発が引き継がれているため、愚かな質問のように思えます。
私は百万のアプローチを試みましたが、すべてが欠けています。私のプロジェクトは、ジャスミン単体テストを使用したバックボーン プロジェクトです。
1) カバレッジ プラグインを使用した JSTD。JSTD は、AMD モジュールを適切にロードおよびインスツルメントするのに問題があります。単一の js ファイル (RequireJS オプティマイザーによって結合) で JSTD を実行すると、コード カバレッジは美しく機能しますが、カバレッジが収集され、ファイル全体でメトリックが定義されることを除きます。サードパーティのライブラリが含まれており、テスト開発を支援するために単一のユニットをターゲットにすることはできないため、これは役に立ちません。ああ。
2) JSCoverage - 完全な失敗、AMD モジュールが好きではありません。
3) Chrome 固有および Firebug 固有の「ライブ」インストルメンター - 失敗、AMD モジュールが気に入らない。
私が試みるすべてのアプローチは、膨大な量のカスタム作業を必要とするようです。では、カスタム ソリューションをゼロから作成する必要があるのでしょうか。
次のアプローチはどうでしょうか。RequireJS オプティマイザーを拡張してコードを計測し、カバレッジを作成します。これは、require.config({ instrument: true }) フラグで有効にできるインメモリ インストルメンテーションになります。require がモジュールをロードするたびに、モジュールが自動的に計測され、モジュール リポジトリに配置されます。カバレッジ統計は、グローバルな require オブジェクトの下のオブジェクトに収集され、Jasmine のテスト実行後など、どこからでもアクセスできます。
入力?