回答:
Jest 21.2.1を使用すると、コマンドラインにコードカバレッジが表示さ--coverage
れ、Jestスクリプトに渡してカバレッジディレクトリを作成できます。以下にいくつかの例を示します。
私はJestをローカルにインストールする傾向があります。その場合、コマンドは次のようになります。
npx jest --coverage
私は(確認していませんが)Jestをグローバルにインストールした場合もこれが機能すると思います:
jest --coverage
非常に疎なドキュメントはこちら
カバレッジ/ lcov-reportディレクトリに移動すると、ブラウザにロードできるindex.htmlファイルが見つかりました。コマンドラインで出力された情報に加えて、追加情報といくつかのグラフィック出力が含まれていました。
node_modules
viaで実行可能ファイルを使用します./node_modules/.bin/jest --coverage
。パッケージがpackage.jsonで名前が付けられている限り、期待するjestの正確なバージョンでの実行を保証できます。
更新:7/20/2018-coverageReportersのリンクを追加し、名前を更新しました。
更新:2017年8月14日-この回答は完全に古くなっています。今すぐJestのドキュメントをご覧ください。彼らはこれを行う方法についての公式サポートとドキュメントを持っています。
@hankhsiaoは、イスタンブールがJestと協力している、分岐したレポを持っています。これを開発依存関係に追加します
"devDependencies": {
"jest-cli": "git://github.com/hankhsiao/jest.git"
}
また、package.json jestエントリでカバレッジが有効になっていることを確認し、必要な形式を指定することもできます。(htmlはかなり悪いお尻です)。
"jest": {
"collectCoverage": true,
"coverageReporters": ["json", "html"],
}
coverageReportersのJestドキュメントを参照してください(デフォルトは )["json", "lcov", "text"]
または--coverage
jestを呼び出すときに追加します。
特にこのテストを直接または直接使用してテストする場合、この質問を検討している人npm
yarn
現在、設定オプションを変更する必要はありません
あたりとして冗談の公式サイトには、カバレッジレポートを生成するには、次の操作を行うことができます。
jest --
の--coverage
引数を渡す前に置く必要があります
npm test -- --coverage
--coverage
なしで直接を起動しようとして--
も機能しません
--coverage
jest の引数を直接渡すことができます
yarn test --coverage
--watch
、この設定を使用する必要があります。
package.json
。
了解しました。問題は解決しなかったと誰かが言ったので、以前の答えは無視してください。
新しい答え:
1)最新のjest(v 0.22)を確認してください:https : //github.com/facebook/jest
2)Facebookチームはイスタンブールをカバレッジレポートの一部として配置し、直接使用できます。
3)jestを実行すると、コンソールでカバレッジレポートを取得できます。jestで設定されたルートフォルダーの下に、jsonおよびhtml形式のカバレッジレポートが表示されます。
4)参考までに、npmからインストールした場合、最新バージョンを取得できない場合があります。最初にgithubを試して、カバレッジが必要な範囲であることを確認してください。
古い答え:
同じ問題が発生しました。短い答えは:Istanbul
とJest
一緒に働いていません。
詳細については、次のページを確認してください。
https://github.com/facebook/jest/issues/101
jestは、ネイティブコードのV8コンテキストでJSスクリプトを実行するcontextifyを使用して、istanbulのrequireおよびvm.runInThisContextフックをすべてバイパスします。したがって、標準のフック可能なnode.js関数が使用されていないためイスタンブールカバーは機能せず、すべてのテストは独自のサンドボックスで実行され、カバレッジオブジェクトを格納するグローバルがないため、事前計測ファイルも役に立ちません。
@Ciro Costa:config.collectCoverage
'TODO'関数なので、機能しません。ソースコードを確認してください。
同じ問題があり、以下のように修正しました。
npm install --save-dev yarn
npm install --save-dev jest-cli
"jest-coverage": "yarn run jest -- --coverage"
テストを作成したら、コマンドnpm run jest-coverageを実行します。これにより、ルートディレクトリにカバレッジフォルダーが作成されます。/coverage/icov-report/index.htmlには、コードカバレッジのhtmlビューがあります。
幸せなコーディング!
チュッツパーを試す。使用したばかりです。また、Visual Studioに統合する方法についてブログに投稿しました。
これは私がChutzpahでカバレッジをコーディングした方法です:http : //francorobles.wordpress.com/2014/09/14/code-coverage-with-chutzpah/
require
。。