私はIstanbul APIの各クラスを勉強しましたが、どのように "カバレッジオブジェクト"を作成するかを知ることができませんでした。コードのインスツルメントイスタンブールのcoverage.jsonオブジェクトをプログラムで取得するにはどうすればよいですか?
は全く問題ありません:
const istanbul = require('istanbul');
const instrumenter = new istanbul.Instrumenter();
instrumenter.instrument(sourceCode, filename, (err, instrumentedCode) => {
console.log(instrumentedCode);
}
しかし、これが唯一のインストルメントコードです。 カバレッジオブジェクトを生成するためには、私はそれを実行する必要があります。しかし、私はこれを行う方法を見つけることができません。もちろん、私はイスタンブールに支払うと
istanbul cover filename.js
を実行し、掘るとcoverage.json
ファイルを解析し、私は支払う必要はありませんことができ;メモリにあるJavaScriptプログラムでカバレッジを実行したい。
Collector
とReporter
のメソッドのように、イスタンブールAPIの多くのメソッドでは、カバレッジオブジェクトを処理することができますが、カバレッジオブジェクトはすでに存在しているとみなされます。私の質問は、カバレッジオブジェクトを最初に生成する方法です。私は何かシンプルなものが欠けていると確信している私は、Instrumenter.lastFileCoverage()
が存在することに気づいた。私の質問は、私が(砲撃せずに)メモリに、カバレッジ対象を生成することができますどのように、ある
statementMap:
{ '1': SourceLocation { start: [Object], end: [Object], skip: undefined },
'2': SourceLocation { start: [Object], end: [Object], skip: undefined },
:私がいること、および宣伝として、このような行を含むゼロカバレッジ・オブジェクトを持って試してみましたか?簡単な方法がありませんか?cover
?
この質問を投稿すると、http://stackoverflow.com/q/39302198/831878の複製であることが判明しました。私はここで私の答えを削除し、他の質問に答えました。 –