Karma
Karma (英語) は、クライアント側 JavaScript をテストするためのツールです。 Karma は、実際のブラウザーで実行されているアプリケーションに対してテストを実行し、テスト結果の正確さと信頼性を保証します。 WebStorm は Karma と統合されているため、IDE 内からテストの実行、デバッグ、カバレッジの監視ができます。 テスト結果はツリービューで確認でき、そこからテストソースに簡単に移動できます。 テストのステータスは、エディターでテストの横に表示され、すぐに実行したりデバッグすることができます。
始める前に
コンピューターに Node.js(英語) があることを確認してください。
設定で Karma プラグインが有効になっていることを確認します。 Ctrl+Alt+S を押して設定を開き、 を選択します。 インストール済み タブをクリックします。 検索フィールドに Karma と入力します。 プラグインの詳細については、 プラグインの管理を参照してください。
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 ファイル: パターンマッチング(英語)も参照してください。
テストの実行
WebStorm を使うと、エディターから単一の Karma テストをすぐに実行できるほか、テストの一部または全部を実行するための実行 / デバッグ構成も作成できます。
エディターから単一のテストを実行する
左側のガターの
または
をクリックして、リストから <test_name> を実行 を選択します。
ガターの テストステータスアイコン
および
により、エディターでテストが成功したか失敗したかを確認することもできます。
Karma 実行構成を作成する
実行 / デバッグ構成ダイアログ (メインメニューの ) を開き、左側のペインで
をクリックし、リストから Karma を選択します。 実行/デバッグ構成:Karmaダイアログが開きます。
使用する Node.js ランタイムを指定します。
プロジェクト エイリアスを選択した場合、WebStorm は JavaScript Runtime ページの ノードランタイム フィールドにあるプロジェクトのデフォルトインタープリターを自動的に使用します。 ほとんどの場合、WebStorm はプロジェクトのデフォルトランタイムを検出し、自動的にフィールドに入力します。
別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、
をクリックして新しいインタープリターを構成することもできます。
詳細については、「リモート Node.js ランタイムの構成」、「ローカル Node.js ランタイムの構成」、「Linux の Windows サブシステムで Node.js を使用する 」を参照してください。
必要に応じて、Node.js に渡す Node.js 固有のオプションパラメーターと 環境変数(英語)を指定します。
karma.conf.js へのパスを指定します。
使用する
karmaパッケージを指定します。 これは次のいずれかです。Karma インストールホーム /npm/node_modules/karma 。 Node パッケージマネージャーを通じて Karmaをインストールした場合、WebStorm が 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 実行 / デバッグ構成を選択し、リストまたはツールバーの
をクリックします。

実行 ツールウィンドウの テストランナー タブで、テストの実行を監視し、テスト結果を分析します。 詳細については、 テスト結果を確認するを参照してください。
失敗したテストを再実行
テスト結果ツールバーの
をクリックします。 WebStorm は前回のセッションで失敗したすべてのテストを実行します。

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

前回のセッションからすべてのテストを再実行するには、テスト結果ツールバーの
をクリックするか、 Ctrl+F5 を押します。

関連するソースコードを変更した後にテストを自動的に再実行するには、テスト結果ツールバーの
を押します。

詳細は、 テストの再実行を参照してください。
ナビゲーション
WebStorm を使用すると、ファイルと関連するテストファイル間や、 テストランナータブのテスト結果からテストへジャンプできます。
テストとそのサブジェクト間、またはその逆に移動するには、エディターでファイルを開き、コンテキストメニューから または を選択するか、 Ctrl+Shift+T を押します。
テスト結果からテスト定義に移動するには、「テストランナー 」タブでテスト名を 2 回クリックするか、コンテキストメニューから「 」を選択するか、単に F4 を押します。 テストファイルがエディターで開き、テスト定義にキャレットが置かれます。
失敗したテストについては、WebStorm がスタックトレースからテストの失敗行へ移動します。 正確な行がスタックトレースにない場合は、テスト定義に移動します。
デバッグテスト
WebStorm を使うと、エディターから単一の Karma テストをすぐにデバッグできるほか、テストの一部または全部をデバッグするための実行 / デバッグ構成も作成できます。
エディターから単一のテストのデバッグを開始する
テスト中の ブレークポイントを設定します。
ガターで
または
をクリックし、リストから デバッグ <テスト名> を選択します。
実行 / デバッグ構成を介してテストデバッグを起動する
必要に応じて ブレークポイントの設定。
上記のように Karma 実行 / デバッグ構成を作成します。
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの
をクリックします。

開いた デバッグツールウィンドウ で、通常どおり操作してください: プログラムをステップ実行、 実行を停止・再開、 一時停止時の確認 、コールスタックや変数の調査、ウォッチの設定、変数の評価、 実際の HTML DOM の表示などが可能です。
コードカバレッジを監視する
WebStorm を使うと、自分のコードが Karma テストでどれだけカバーされているかも監視できます。 WebStorm は、この統計情報を専用の カバレッジ ツールウィンドウに表示し、エディターおよび プロジェクト ツールウィンドウ(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/' } ... });};次の
type値を使用できます。htmlはアノテーション付きソースコードを含む一連の HTML ファイルを生成します。lcovonlyは lcov.info ファイルを作成します。lcovは HTML + .lcov ファイルを生成します。 このフォーマットはデフォルトで適用されます。coberturaは、Hudson と簡単に統合するための cobertura-coverage.xml ファイルを生成します。text-summaryは、通常はコンソールに、カバレッジの簡潔なテキスト要約を生成します。textは、すべてのファイルのカバレッジを持つ詳細なテキストテーブルを生成します。