Karma
Karma (英語) は、クライアント側 JavaScript をテストするためのツールです。 Karma は、実際のブラウザーで実行されているアプリケーションに対してテストを実行し、テスト結果の正確さと信頼性を保証します。 IntelliJ IDEA は Karma と統合されているため、IDE 内からテストの実行、デバッグ、カバレッジを監視できます。 テスト結果はツリービューで確認でき、そこからテストソースに簡単に移動できます。 テストのステータスは、エディターでテストの横に表示され、すぐに実行したりデバッグすることができます。
始める前に
Node.js をダウンロードしてインストールします。
設定で JavaScript and TypeScript プラグインが有効になっていることを確認します。 Ctrl+Alt+S を押して設定を開き、 を選択します。 インストール済み タブをクリックします。 検索フィールドに JavaScript と TypeScript と入力します。 プラグインに関する詳細は、 プラグインの管理を参照してください。
Karma プラグインを 設定 | プラグイン ページの Marketplace タブにインストールして有効化し、 JetBrains Marketplace からプラグインをインストールする説明に従ってください。 このプラグインは IntelliJ IDEA Ultimate でのみ利用可能です。
Karma をインストールする
Karma 自体に加えて、 karma-jasmine や jasmine-core などの追加のパッケージ (プラグイン) が必要です。 Karma オフィシャル Web サイト(英語)から詳細を参照してください。
埋め込まれた ターミナル (Alt+F12) を開きます。
次のいずれかのコマンドを入力します。
Karma と必要なすべてのプラグインが package.json にすでに定義されている場合は
npm install開発の依存関係(英語)として Karma とプラグインをインストールするには:
npm install --save-dev karma npm install --save-dev <karma_plugin> <another_karma_plugin>
Karma 構成ファイルを生成する
Karma テストは、対話モードで生成された karma.conf.js 構成ファイルに従って実行されます。 プロジェクトにすでに karma.conf.js がある場合は、この手順をスキップしてください。 Karma 構成の詳細については、「Karma オフィシャル Web サイト(英語) 」を参照してください。
Karma 構成ファイルを作成する
ターミナル を開き、オペレーティングシステムに応じて次のいずれかを入力して karma.conf.js 生成ウィザードを開始します。
macOS および Linux の場合: ./node_modules/karma/bin/karma init
Windows の場合:
npm install -g karma-cli karma init
ウィザードの質問に答えて、使用するテストフレームワークと自動的にキャプチャーされるブラウザーを指定します。
Karma ファイル: パターンマッチング(英語)も参照してください。
テストの実行
IntelliJ IDEA を使用すると、Karma テストをエディターから簡単に実行したり、実行 / デバッグ構成を作成してテストの一部または全部を実行することができます。
エディターから単一のテストを実行する
左側のガターの
または
をクリックして、リストから <test_name> の実行 を選択します。
ガターの テストステータスアイコン
および
により、エディターでテストが成功したか失敗したかを確認することもできます。
Karma 実行構成を作成する
実行 / デバッグ構成ダイアログ (メインメニューの ) を開き、左側のペインで
をクリックし、リストから Karma を選択します。 実行/デバッグ構成: Karmaダイアログが開きます。
使用する Node.js ランタイムを指定します。
プロジェクト エイリアスを選択すると、IntelliJ IDEA は JavaScript Runtime ページの Node runtime フィールドからプロジェクトの既定のインタープリターを自動で使用します。 ほとんどの場合、IntelliJ IDEA はプロジェクトの既定のランタイムを検出し、フィールド自体に入力します。
別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、
をクリックして新しいインタープリターを構成することもできます。
必要に応じて、Node.js に渡す Node.js 固有のオプションパラメーターと 環境変数(英語)を指定します。
karma.conf.js へのパスを指定します。
使用する
karmaパッケージを指定します。 これは次のいずれかです。Karma インストールホーム /npm/node_modules/karma 。 Node パッケージマネージャーを介して Karma を定期的にインストールした場合、IntelliJ IDEA は Karma インストールホーム自体を検出します。
node_modules/@angular/cliへのパス。Nx(英語) を使用している場合は、
node_modules/nxへのパス。

アプリケーションの作業ディレクトリを指定します。 デフォルトでは、 作業ディレクトリ フィールドにはプロジェクトのルートフォルダーが表示されます。 この定義済みの設定を変更するには、目的のフォルダーへのパスを指定します。
実行するテストを指定します。 これは、特定のテストまたはスイート、テストファイル全体、テストファイルを含むフォルダーにすることができます。
必要に応じて、Karma に渡すコマンドラインオプションを指定して、 karma.conf.js 構成ファイルのデフォルト設定を上書きします。
例: ヘッドレス Chrome でテストを実行またはデバッグするには、 Karma オプション フィールドに
--browsers ChromeHeadlessと入力します。 詳細については、「ヘッドレス Chrome による自動テスト(英語) 」を参照してください。使用可能なすべての CLI オプションを表示するには、 ターミナル Alt+F12 に
karma start --helpと入力します。
実行構成を介してテストを実行する
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの
をクリックします。
実行 ツールウィンドウの テストランナー タブで、テストの実行を監視し、テスト結果を分析します。 詳細については、 テスト結果を調べるを参照してください。
失敗したテストの再実行
テスト結果ツールバーの
をクリックします。 IntelliJ IDEA は、前回のセッション中に失敗したすべてのテストを実行します。

特定の失敗したテストを再実行するには、そのコンテキストメニューで を選択します。

前回のセッションからすべてのテストを再実行するには、テスト結果ツールバーの
をクリックするか、 Ctrl+F5 を押します。
関連するソースコードを変更した後にテストを自動的に再実行するには、テスト結果ツールバーの
を押します。
ナビゲーション
IntelliJ IDEA を使用すると、ファイルと関連テストファイルの間、または テストランナータブのテスト結果からテストに移動できます。
テストとそのサブジェクト間、またはその逆に移動するには、エディターでファイルを開き、コンテキストメニューから または を選択するか、 Ctrl+Shift+T を押します。
テスト結果からテスト定義に移動するには、「テストランナー 」タブでテスト名を 2 回クリックするか、コンテキストメニューから「 」を選択するか、単に F4 を押します。 テストファイルがエディターで開き、テスト定義にキャレットが置かれます。
失敗したテストの場合、IntelliJ IDEA はスタックトレースからテストの失敗ラインに移動します。 正確な行がスタックトレースにない場合は、テスト定義に移動します。
デバッグテスト
IntelliJ IDEA を使用すると、エディターから Karma テストのデバッグをすぐに開始することも、テストの一部または全部をデバッグするための実行 / デバッグ構成を作成することもできます。
エディターから単一のテストのデバッグを開始する
テスト中の ブレークポイントを設定します。
ガターで
または
をクリックし、リストから デバッグ <test_name> を選択します。
実行 / デバッグ構成を介してテストデバッグを起動する
必要に応じて ブレークポイントの設定。
上記のように Karma 実行 / デバッグ構成を作成します。
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの
をクリックします。
開いた デバッグツールウィンドウ で、通常どおり続行します: プログラムをステップ実行し、 プログラムの実行を停止して再開し、 中断時に調べ 、コールスタックと変数を調べ、ウォッチを設定し、変数を評価し、 実際の HTML DOM を表示します。
コードカバレッジを監視する
IntelliJ IDEA を使用すると、コードのどの程度が Karma テストでカバーされている(英語)かを監視することもできます。 IntelliJ IDEA は、専用の カバレッジ ツールウィンドウにこの統計を表示し、エディターおよび プロジェクト ツールウィンドウ(Alt+1 )でカバーされた行とカバーされていない行を視覚的にマークします。 カバレッジを監視するには、 karma-coverage パッケージをインストールし、 karma.conf.js を更新する必要があります。
カルマカバレッジをインストールする
組み込み ターミナル (Alt+F12) で次のように入力します。
npm install  --save-dev karma-coverage
Karma-coverage 定義を構成ファイルに追加する
エディターで karma.conf.js を開きます。
reporters定義を見つけ、coverageを次の形式の値のリストに追加します。reporters: ['progress', 'coverage']preprocessors定義を追加し、カバレッジスコープを次の形式で指定します。preprocessors: {'**/*.js': ['coverage']}
カバレッジ付きでテストを開始する
上記のように Karma 実行 / デバッグ構成を作成します。
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの
をクリックします。
または、エディターのテストアイコンを使用して、特定のスイートまたはカバレッジ付きのテストをすばやく実行します。

カバレッジツールウィンドウでコードカバレッジを監視します。
Karma テストが実行されるたびに、カバレッジレポートが実際にディスク上に生成されます。 カバレッジレポートの形式は、次のように設定ファイルで設定できます。
// karma.conf.js module.exports = function(config) { config.set({ ... // optionally, configure the reporter coverageReporter: { type : 'html', dir : 'coverage/' } ... });};次の
型値を使用できます。htmlはアノテーション付きソースコードを含む一連の HTML ファイルを生成します。lcovonlyは lcov.info ファイルを作成します。lcovは HTML + .lcov ファイルを生成します。 このフォーマットはデフォルトで適用されます。coberturaは、Hudson と簡単に統合するための cobertura-coverage.xml ファイルを生成します。text-summaryは、通常はコンソールに、カバレッジの簡潔なテキスト要約を生成します。テキストは、すべてのファイルのカバレッジを持つ詳細なテキストテーブルを生成します。