Node.js のテスト
IntelliJ IDEA を使用すると、多数のフレームワークを使用して Node.js アプリケーションをテストできます。
現在のページでは、非同期テストシナリオの実行に特に役立つ JavaScript テストフレームワークである組み込みの Node.js テストランナー(英語)または Mocha(英語) を使用したテストについて説明します。IntelliJ IDEA の外部から Mocha テストを実行し、ツリービューに配置されたテスト結果を調べ、そこからテストソースに簡単に移動できます。IntelliJ IDEA は、エディターのテストの隣に、テストのステータスを、迅速に実行またはデバッグするためのオプションとともに表示します。
始める前に
Node.js をダウンロードしてインストールします。
設定 | プラグインページのインストール済みタブで、JavaScript and TypeScript および Node.js に必要なプラグインが有効になっていることを確認します。詳細については、「プラグインのマッピング」を参照してください。
組み込みの Node.js テストランナー
バージョン 20 以降、Node.js には組み込みの Node.js テストランナー(英語)の安定バージョンが付属しています。IntelliJ IDEA は組み込みのテストランナーとの統合をサポートしているため、サードパーティのフレームワークをインストールして構成しなくてもテストを実行できます。
TypeScript コードのテストもサポートされています。詳細については、TypeScript をテストするを参照してください。
Node.js バージョン 20 以降がコンピューターにインストールされており、ローカル Node.js インタープリターとして構成されていることを確認してください。
Node.js 公式 Web サイト(英語)の説明に従ってテストファイルを作成します。
ガター内:
単一のテストの横にある をクリックして実行します。
テストスイートの横にある をクリックして、テストスイート内のすべてのテストを実行します。
実行ツールウィンドウでテスト結果を調べ、詳細についてはテスト結果を調べるを参照してください。
テストの再実行:
単一のテストを再実行するには、実行ツールウィンドウでテストを選択し、コンテキストメニューから実行 '<test name>' を選択するか、Alt+Shift+R を押します。
または、テストの横にあるガターアイコンを使用して再実行します。無視されたテスト、失敗したテスト、成功したテストを再実行するには、「 」、「 」または「 」をクリックします。
スイート全体を再実行するには、実行ツールウィンドウのツールバーにある をクリックします。
または、スイートの横にあるガターアイコンをクリックします。
サードパーティのテストフレームワークを使用してコードをテストする
任意のフレームワークを使用できますが、推奨されるのは Mocha です。
Mocha をインストールする
埋め込まれたターミナル(Alt+F12)で、次のいずれかのコマンドを入力します。
npm install mocha
をプロジェクトにローカルインストールします。グローバルインストール用の
npm install -g mocha
npm install --save-dev mocha
は、Mocha を開発依存関係(英語)としてインストールします。
Mocha の公式サイトでスタートする(英語)詳細を参照してください。
Node.js 標準アサート機能(英語)の効率的な代替品としてチャイ期待ライブラリ(英語)をインストールします。
埋め込まれたターミナル(Alt+F12)で、次のように入力します。
npm install --save-dev chai
Mocha テストを作成する
Mocha オフィシャル Web サイト(英語)の指示に従ってテストを作成します。
ユニットテストが保存されているフォルダーをテストソースフォルダーとしてマークします(コンテンツルートを参照)。
Mocha テストを実行する
IntelliJ IDEA を使用すると、Mocha テストをエディターから簡単に実行したり、実行 / デバッグ構成を作成してテストの一部または全部を実行することができます。
エディターから単一の Mocha テストを実行する
ガターで または をクリックし、リストから実行 <テスト名> を選択します。
ガターのテストステータスアイコン および により、エディターでテストが成功したか失敗したかを確認することもできます。
Mocha 実行構成を作成する
実行 / デバッグ構成ダイアログ (メインメニューの ) を開き、左側のペインで をクリックし、リストから Mocha を選択します。「実行 / デバッグ構成: Mocha」ダイアログが開きます。
使用するノードインタープリターと
mocha
パッケージの場所を指定します。アプリケーションの作業ディレクトリを指定します。デフォルトでは、作業ディレクトリフィールドにはプロジェクトのルートフォルダーが表示されます。この定義済みの設定を変更するには、目的のフォルダーへのパスを指定します。
オプション:
関連するソースファイルの変更時に自動的に再実行されるテストを構成します。これを行うには、追加 Mocha オプションフィールドに
--watch
フラグを追加します。実行するテストを指定します。これは、特定のテストまたはスイート、テストファイル全体、テストファイルを含むフォルダーにすることができます。
パターンを定義して、一致するファイル(
*.test.js
など)のテストのみを実行することもできます。テストを含むファイルが test フォルダーに格納されている場合は、このフォルダーへのパスを、./folder1/folder2/test/*.test.js などの作業ディレクトリを基準としたパターンで指定します。実行するテストで使用するインターフェース(英語)を選択します。
Mocha 実行構成を介してテストを実行する
構成のリストから Mocha 実行 / デバッグ構成を選択し、リストまたはツールバーの をクリックします。
実行ツールウィンドウのテストランナータブで、テストの実行を監視し、テスト結果を分析します。詳細については、テスト結果を調べるを参照してください。
クリックして違いを確認してくださいリンクを使用して差分ビューアーを開き、実際の結果を期待値と比較します。
選択したテストのファイル名がリンクとして表示されます。このリンクをクリックして、ソースコードに移動します。
実行ツールウィンドウのテストランナータブで、テストの実行を監視し、テスト結果を分析します。詳細については、テスト結果を調べるを参照してください。
失敗した Mocha テストを再実行する
テスト結果ツールバーの をクリックします。IntelliJ IDEA は、前回のセッション中に失敗したすべてのテストを実行します。
特定の失敗したテストを再実行するには、そのコンテキストメニューで
を選択します。または、失敗したテストの横にあるガターで をクリックし、リストから
を選択します。
ナビゲーション
IntelliJ IDEA を使用すると、ファイルと関連テストファイルの間、またはテストランナータブのテスト結果からテストに移動できます。
テストとそのサブジェクト間、またはその逆に移動するには、エディターでファイルを開き、コンテキストメニューから
または を選択するか、Ctrl+Shift+T を押します。テスト結果からテスト定義に移動するには、「テストランナー」タブでテスト名を 2 回クリックするか、コンテキストメニューから「 」を選択するか、単に F4 を押します。テストファイルがエディターで開き、テスト定義にキャレットが置かれます。
失敗したテストの場合、IntelliJ IDEA はスタックトレースからテストの失敗ラインに移動します。正確な行がスタックトレースにない場合は、テスト定義に移動します。
デバッグテスト
不明な理由でテストが失敗した場合は、テストをデバッグして、テストが古くなっているかどうか、ソースコードに加えた変更によって、アプリケーションの意図した動作が損なわれていないかどうかを確認できます。
IntelliJ IDEA を使用すると、エディターから Mocha テストのデバッグをすぐに開始することも、テストの一部または全部をデバッグするための実行 / デバッグ構成を作成することもできます。
エディターから単一のテストのデバッグを開始する
デバッグするテストの横のガターにブレークポイントを設定します。実行ツールウィンドウでテストをダブルクリックするか、F4 を押すと、失敗したテストに移動できます。
ガターで または をクリックし、リストからデバッグ <テスト名> を選択します。
デバッグツールウィンドウで、通常どおりに処理を進めます。プログラムをステップ実行し、プログラムの実行を停止して再開し、中断されたときにプログラムを調べ、実際の HTML DOM を表示し、コンソールで JavaScript コードスニペットを実行します。
Mocha 実行 / デバッグ構成を使用したデバッグテスト
デバッグするテストの横にブレークポイントを設定します。実行ツールウィンドウでテストをダブルクリックするか、F4 を押すと、失敗したテストに移動できます。
上記のように Mocha 実行 / デバッグ構成を作成します。
構成のリストから Mocha 実行 / デバッグ構成を選択し、リストまたはツールバーの をクリックします。
開いたデバッグツールウィンドウでは、通常通りに進めます。テストをステップ実行、テスト実行の停止・再開、中断中のテストを調査、デバッガーコンソールで JavaScript のコードスニペットを実行、などです。
失敗したテストをデバッグする詳細を参照してください。
コードカバレッジを監視する
IntelliJ IDEA を使用すると、Mocha テストでカバーされている(英語)コードの量を監視することもできます。IntelliJ IDEA は、専用のカバレッジツールウィンドウにこの統計を表示し、カバーされた行とカバーされていない行をエディターとプロジェクトツールウィンドウで視覚的にマークします。カバレッジを監視するには、Istanbul(英語) のコマンドラインインターフェースである nyc(英語) をインストールする必要があります。
ニューヨークをインストールする
埋め込まれたターミナル(Alt+F12)で、次のように入力します。
npm install --save-dev nyc
カバレッジでテストを実行する
テストを開始します。
上記のように Mocha 実行 / デバッグ構成を作成し、メインツールバーのリストから選択して、リストの右側にある をクリックします。
または、エディターからのカバレッジを使用して特定のスイートまたはテストを実行します。左側のガターで または をクリックし、リストからカバレッジで <test_name> を実行するを選択します。
カバレッジツールウィンドウでコードカバレッジを監視します。このレポートには、テストでカバーされたファイルの数と、その中にカバーされている行の割合が表示されます。レポートから、ファイルに移動して、どの行が覆われていたか(緑色にマーキングされているか、どの行が覆われていないか)、赤色に表示されているかを確認できます。
Docker コンテナー内の Node.js でテストを実行する
IntelliJ IDEA を使用すると、ローカルで実行するのと同じ方法で、Docker コンテナー内で Mocha(英語) テストを実行できます。
始める前に
JetBrains マーケットプレイスからプラグインをインストールする説明に従って、設定 | プラグインページのマーケットプレースタブに Node.js リモートインタープリタープラグインをインストールして有効にします。
設定 | プラグインページのインストール済みタブで、Node.js および Docker に必要なプラグインが有効になっていることを確認します。詳細については、「プラグインのマッピング」を参照してください。
Docker の説明に従って、Docker をダウンロード、インストール、設定します。
Docker で Node.js リモートインタープリターを構成するまたは Docker Compose を介して、プロジェクトのデフォルトとして設定します。また、このリモートインタープリターに関連付けられているパッケージマネージャーがプロジェクトのデフォルトとして設定されていることを確認してください。
package.json を開き、必要なテストフレームワークが
devDependencies
セクションにリストされていることを確認します。{ "name": "node-express", "version": "0.0.0", "private": true, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1", "pug": "^3.0.2" }, "devDependencies": { "chai": "^4.3.4", "concurrently": "^6.3.0", "eslint": "^8.1.0", "http-server": "^14.0.0", "jest": "^27.3.1", "mocha": "^9.1.3", "nyc": "^15.1.0" } }エディターの任意の場所を右クリックして、コンテキストメニューから実行 '<package manager> install' を選択します。
テストの実行
Mocha オフィシャル Web サイト(英語)の指示に従ってテストを作成します。
ユニットテストが保存されているフォルダーをテストソースフォルダーとしてマークします(コンテンツルートを参照)。
ローカル開発の場合と同様に続行します。エディターから直接単一のテストを実行およびデバッグするか、実行 / デバッグ構成を作成して、上記のテストの実行およびデバッグテストに従ってテストの一部またはすべてを起動します。
関連ページ:
プラグインのインストール
プラグインは IntelliJ IDEA のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains...
TypeScript をテストする
バージョン 20 以降、Node.js には組み込みの Node.js テストランナーの安定バージョンが付属しています。IntelliJ IDEA は組み込みのテストランナーとの統合をサポートしているため、サードパーティのフレームワークをインストールして構成しなくてもテストを実行できます。IntelliJ IDEA は、ts-node および tsx ローダー用のすぐに使用できる構成を提供しているため、事前に JavaScript にコンパイルしなくても、TypeScript テストを実行してデバッグ...
Node.js
Node.js は、サーバーやコマンドラインなど、ブラウザーの外部で JavaScript を実行するための軽量ランタイム環境です。IntelliJ IDEA は Node.js と統合されており、アプリケーションの構成、編集、実行、デバッグ、テスト、プロファイリング、保守を支援します。Node.js がアプリケーションのローカルランタイムとして、または npm パッケージの管理、JavaScript リンターの実行、ツールのビルド、フレームワークのテストなどにのみ必要な場合は、Node.js をイ...
テスト結果を調べる
IntelliJ IDEA でテストが実行されている間、テスト実行は実行ツールウィンドウのその実行構成のタブに表示されます。テスト実行が終了すると、そのタブでテスト結果を確認できます。右側のコンソールには、現在のテストセッションの出力が表示されます。テスト実行に関する詳細情報や、テストが失敗した理由や無視された理由を確認できます。コンソール出力をファイルに保存することもできます。テスト結果リストの上にあるテスト結果ツールバーを使用すると、成功したテストと無視されたテストの表示と非表示を切り替えた...
コンテンツルート
IntelliJ IDEA のコンテンツは、ソースコード、ビルドスクリプト、テスト、ドキュメントを含むファイルのグループです。これらのファイルは通常、階層構造になっています。最上位フォルダーはコンテンツルートと呼ばれます。モジュールには通常、1 つのコンテンツルートがあります。コンテンツルートを追加することができます。たとえば、コードがコンピューター上の別の場所に格納されている場合には、これは便利です。同時に、モジュールはコンテンツルートなしで存在することができます。この場合、他のモジュールの依...
実行 / デバッグ構成ダイアログ
このダイアログを使用して、実行 / デバッグ構成を作成、編集、調整、削除したり、新しく作成されたすべての実行 / デバッグ構成に適用されるデフォルトのテンプレートを構成したりします。既存の実行 / デバッグ構成は、構成タイプごとにグループ化されています。新しい構成を作成するためのテンプレートは編集可能であり、ダイアログの左側のペインにある構成テンプレートの編集リンクから利用できます。共通設定:実行構成を編集するとき(ただし実行構成テンプレートは編集しないとき)、次のオプションを指定できます。名...