node.js のコードのコード カバレッジ レポートがとても気に入っています。requiremockと呼ばれる、インストルメント化されたコードを挿入できる (そして、require ステートメントをモックできる) node.js モジュールを既に作成しました。
私はそれを他のモジュールnodecoverageで jsCoverage (windows) のバイナリ バージョンと一緒に使用してコード カバレッジ レポートを生成し、requiremock でインストルメント化されたバージョンのコードを挿入します。
jsCoverage を使用する際の問題点は次のとおりです。
- C(++) で書かれているため、プラットフォーム用のコンパイルが必要です。JavaScript で実装して、コンパイルなしで任意のプラットフォームで使用できるようにしたいと考えています。
- インストルメント化されたバージョンのコードをファイルとしてディスクに書き込みます。requiremock を使用すると、インストルメント化された JavaScript ファイルをメモリ内に生成し、元のファイルが必要なときにそれらを実行できます。
- 関数ホイストを使用すると、jsCoverage はコード カバレッジを正しくレポートしません。私はそれを node.js でよく使用します。
だから私の質問は:
jsCoverage を node.js モジュールとして再実装するには、JavaScript で記述されたどの JavaScript パーサーを選択する必要がありますか?
元のファイルのコードの行番号と、空白がどのようなものかを知る必要があります。