Karma
Karma (英語) は、クライアント側 JavaScript をテストするためのツールです。Karma は、実際のブラウザーで実行されているアプリケーションに対してテストを実行し、テスト結果の正確さと信頼性を保証します。PhpStorm は Karma と統合されているため、IDE 内からテストの実行、デバッグ、カバレッジを監視できます。テスト結果はツリービューで確認でき、そこからテストソースに簡単に移動できます。テストのステータスは、エディターのテストの横に表示され、すぐに実行またはデバッグするオプションが表示されます。
始める前に
Node.js をダウンロードしてインストールします。
設定 | プラグインページのインストール済みタブで、JavaScript and TypeScript および 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 ファイル: パターンマッチング(英語)も参照してください。
テストの実行
PhpStorm を使用すると、Karma テストをエディターから簡単に実行したり、実行 / デバッグ構成を作成してテストの一部または全部を実行することができます。
エディターから単一のテストを実行する
左側のガターの または をクリックして、リストから実行 <テスト名> を選択します。
ガターのテストステータスアイコン および により、エディターでテストが成功したか失敗したかを確認することもできます。
Karma 実行構成を作成する
実行 / デバッグ構成ダイアログ (メインメニューの ) を開き、左側のペインで をクリックし、リストから Karma を選択します。「実行 / デバッグ構成: Karma」ダイアログが開きます。
使用する Node.js インタープリターを指定します。
プロジェクトエイリアスを選択すると、PhpStorm は Node.js ページの Node インタープリターフィールドからプロジェクトの既定のインタープリターを自動的に使用します。ほとんどの場合、PhpStorm はプロジェクトの既定のインタープリターを検出し、フィールド自体に入力します。
別の構成済みのローカルインタープリターまたはリモートインタープリターを選択するか、 をクリックして新しいインタープリターを構成することもできます。
必要に応じて、Node.js に渡す Node.js 固有のオプションパラメーターと環境変数(英語)を指定します。
karma.conf.js へのパスを指定します。
使用する
karma
パッケージを指定します。次のいずれかになります。Karma インストールホーム /npm/node_modules/karma。Node パッケージマネージャーを介して Karma を定期的にインストールした場合、PhpStorm は Karma インストールホーム自体を検出します。
node_modules/@angular/cli
へのパス。いいえ(英語)を使用している場合は、
node_modules/nx
へのパス。
アプリケーションの作業ディレクトリを指定します。デフォルトでは、作業ディレクトリフィールドにはプロジェクトのルートフォルダーが表示されます。この定義済みの設定を変更するには、目的のフォルダーへのパスを指定します。
実行するテストを指定します。これは、特定のテストまたはスイート、テストファイル全体、テストファイルを含むフォルダーにすることができます。
必要に応じて、Karma に渡すコマンドラインオプションを指定して、karma.conf.js 構成ファイルのデフォルト設定を上書きします。
例: ヘッドレス Chrome でテストを実行またはデバッグするには、Karma オプションフィールドに
--browsers ChromeHeadless
と入力します。詳細については、「ヘッドレス Chrome による自動テスト(英語)」を参照してください。使用可能なすべての CLI オプションを表示するには、ターミナル Alt+F12 に
karma start --help
と入力します。
実行構成を介してテストを実行する
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの をクリックします。
実行ツールウィンドウのテストランナータブで、テストの実行を監視し、テスト結果を分析します。詳細については、テスト結果を調べるを参照してください。
失敗したテストの再実行
テスト結果ツールバーの をクリックします。PhpStorm は、前回のセッション中に失敗したすべてのテストを実行します。
特定の失敗したテストを再実行するには、そのコンテキストメニューで
を選択します。前回のセッションからすべてのテストを再実行するには、テスト結果ツールバーの をクリックするか、Ctrl+F5 を押します。
関連するソースコードを変更した後にテストを自動的に再実行するには、テスト結果ツールバーの を押します。
詳細は、テストの再実行を参照してください。
ナビゲーション
PhpStorm を使用すると、ファイルと関連テストファイルの間、またはテストランナータブのテスト結果からテストに移動できます。
テストとそのサブジェクト間、またはその逆に移動するには、エディターでファイルを開き、コンテキストメニューから
または を選択するか、Ctrl+Shift+T を押します。テスト結果からテスト定義に移動するには、「テストランナー」タブでテスト名を 2 回クリックするか、コンテキストメニューから「 」を選択するか、単に F4 を押します。テストファイルがエディターで開き、テスト定義にキャレットが置かれます。
失敗したテストの場合、PhpStorm はスタックトレースからテストの失敗ラインに移動します。正確な行がスタックトレースにない場合は、テスト定義に移動します。
デバッグテスト
PhpStorm を使用すると、エディターから Karma テストのデバッグをすぐに開始することも、テストの一部または全部をデバッグするための実行 / デバッグ構成を作成することもできます。
エディターから単一のテストのデバッグを開始する
テスト中のブレークポイントを設定します。
ガターで または をクリックし、リストからデバッグ <テスト名> を選択します。
実行 / デバッグ構成を介してテストデバッグを起動する
必要に応じてブレークポイントの設定。
上記のように Karma 実行 / デバッグ構成を作成します。
構成のリストから Karma 実行 / デバッグ構成を選択し、リストまたはツールバーの をクリックします。
開いたデバッグツールウィンドウで、通常どおりに続行します。テストの実行、一時停止と再開、中断時にテストを調査、
コンソールで JavaScript コードスニペットを実行など。
コードカバレッジを監視する
PhpStorm を使用すると、Karma テストでカバーされている(英語)コードの量を監視することもできます。PhpStorm は、専用のカバレッジツールウィンドウにこの統計を表示し、カバーされた行とカバーされていない行をエディターとプロジェクトツールウィンドウ 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
は、すべてのファイルのカバレッジを持つ詳細なテキストテーブルを生成します。
関連ページ:
プラグインのインストール
プラグインは PhpStorm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケッ...
実行 / デバッグ構成ダイアログ
このダイアログを使用して、実行 / デバッグ構成を作成、編集、調整、削除したり、新しく作成されたすべての実行 / デバッグ構成に適用されるデフォルトのテンプレートを構成したりします。既存の実行 / デバッグ構成は、構成タイプごとにグループ化されています。新しい構成を作成するためのテンプレートは編集可能であり、ダイアログの左側のペインにある構成テンプレートの編集リンクから利用できます。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名...
実行 / デバッグ構成: Karma
作成: このダイアログで、Karma テストランナーを使用して JavaScript 単体テストを実行およびデバッグするための設定を作成します。始める前に:Node.js をダウンロードしてインストールします。Karma の説明に従って、Karma テストランナーをインストールします。JetBrains マーケットプレイスからプラグインをインストールする説明に従って、Karma プラグインを設定 | プラグインページのマーケットプレースタブにインストールします。Karma 固有の構成設定:構成ファイ...
実行 / デバッグ構成: Node.js
作成: 次の Node.js バージョンは、PhpStorm 2023.3 以降でサポートされています。Node.js 20 - アクティブな長期サポート (LTS) バージョン、Node.js 21 - 現在のバージョン、サポートされている Node.js バージョンの詳細を参照してください。このダイアログで、コンピューター上の Node.js アプリケーションと一緒にデバッガーを開始するための構成を作成します。始める前に:Node.js をダウンロードしてインストールします。構成タブ:Nod...
テスト結果を調べる
PhpStorm でテストが実行されている間、テスト実行は実行ツールウィンドウのその実行構成のタブに表示されます。テスト実行が終了すると、そのタブでテスト結果を確認できます。右側のコンソールには、現在のテストセッションの出力が表示されます。テストの実行に関する詳細情報と、テストが失敗したか無視された理由を確認できます。テスト結果リストの上にあるテスト結果ツールバーを使用すると、成功したテストと無視されたテストの表示と非表示を切り替えたり、各テストの実行にかかった時間を表示したり、テスト結果をエク...
テストの実行
ファイルまたはフォルダー内で直接テストを実行するテストを開始する前に特定のアクションが必要なく、追加のオプションを構成したくない場合は、次のオプションを使用してテストを実行できます。そのクラス内のすべてのテストを実行するには、テストクラスにキャレットを置きます。または、テストメソッドにキャレットを置き、を押します。または、テストクラスまたはテストメソッドの横にあるガターアイコンをクリックし、リストから実行 '<test name>' を選択します。ガターアイコンは、テストの状態に応じ...