Cucumber.js
Cucumber.js(英語) は、ビヘイビア駆動 JavaScript 開発用のテストフレームワークです。 Cucumber.js テストは、人間が読める Gherkin 言語で記述され、 feature ファイルの拡張機能が feature のものに保存されます。 GoLand は Cucumber.js と統合し、Gherkin で書かれた機能を認識するため、IDE から直接 Cucumber.js テストを実行できます。
始める前に
Cucumber.js バージョン 6.0.0+ を使用するには、GoLand 2020.3.1 以降を使用していることを確認してください。
Node.js をダウンロードしてインストールします。
設定で JavaScript and TypeScript プラグインが有効になっていることを確認します。 Ctrl+Alt+S を押して設定を開き、 を選択します。 インストール済み タブをクリックします。 検索フィールドに JavaScript and TypeScript と入力します。 プラグインの詳細については、 プラグインの管理を参照してください。
JetBrains マーケットプレイスからプラグインをインストールする説明に従って、 Cucumber.js および Gherkin プラグインを 設定 | プラグイン ページの マーケットプレース タブにインストールします。
Cucumber.js をインストールする
埋め込まれた ターミナル (Alt+F12 )で、次のいずれかのコマンドを入力します。
npm install cucumberをプロジェクトにローカルインストールします。グローバルインストール用の
npm install -g cucumbernpm install --save-dev cucumberは、Cucumber.js を 開発依存関係(英語)としてインストールします。
Cucumber.js 公式サイトの Cucumber.js デモ(英語)も参照してください。
テスト定義の作成
GoLand では、JavaScript と TypeScript の両方でステップ定義を作成できます。 GoLand は、定義がないステップを検出してハイライトし、生成のためのクイックフィックスを提案します。
定義なしのステップにキャレットを置き、 Alt+Enter を押して、 ステップ定義を作成する または すべてのステップ定義を作成する を選択します。

または、ステップ上にマウスカーソルを合わせて、ポップアップ内のリンクを使用してください。

表示されたダイアログで、新しいファイルの名前と定義を記述する言語を指定します。

そのようなファイルが既に存在する場合、GoLand はポップアップを表示し、定義を追加するファイルを選択するか、新しいファイルの作成を選ぶ必要があります。
テストの実行
Cucumber.js テストは、実行 / デバッグ構成によってのみ起動されます。
Cucumber.js 実行構成を作成する
実行 / デバッグ構成ダイアログ (メインメニューの ) を開き、左側のペインで
をクリックし、リストから Cucumber.js を選択します。 実行 / デバッグ構成: Cucumber.js ダイアログが開きます。
フィーチャーファイルまたはディレクトリ フィールドで、実行するテストを指定します。 多数の機能を実行したい場合は、特定の .feature ファイルまたはフォルダーへのパスを入力します。
使用する Node.js ランタイムを指定します。
プロジェクト エイリアスを選択した場合、GoLand は ノードランタイム フィールドからプロジェクトのデフォルトインタープリターを自動的に使用します。 ほとんどの場合、GoLand はプロジェクトのデフォルトランタイムを検出し、そのフィールドに自動で入力します。
別の構成済みローカルインタープリターを選択するか、
をクリックして新しいものを構成することもできます。
Cucumber パッケージ フィールドで、 cucumber パッケージが格納されているフォルダーへのパスを指定します。
アプリケーションの作業ディレクトリを指定します。 デフォルトでは、 作業ディレクトリ フィールドにはプロジェクトのルートフォルダーが表示されます。 この定義済みの設定を変更するには、目的のフォルダーへのパスを指定します。
オプション:
「名前フィルター 」フィールドに、フィーチャーファイルまたはディレクトリからのすべてのシナリオの代わりに実行する特定のシナリオの名前を入力します。
実行可能ファイルに渡すコマンドライン引数 (
-r--require LIBRARY|DIR、-t--tags TAG_EXPRESSION、--coffeeなど) を指定します。 詳細については、cucumber-js --helpコマンドを通じて利用できるネイティブの組み込みヘルプを参照してください。環境変数 フィールドで、アプリケーションの環境変数を指定します。
実行構成を介してテストを実行する
構成の一覧から Cucumber.js の実行 / デバッグ構成を選択し、一覧またはツールバーの
をクリックします。
実行 ツールウィンドウの テストランナー タブで、テストの実行を監視し、テスト結果を分析します。 詳細については、 テスト結果を調べるを参照してください。
テストファイルからテストを実行する
単一のテストを実行するには、エディターでテストファイルを開き、実行するシナリオにキャレットを置き、コンテキストメニューから を選択します。
単一のテストファイルからすべてのテストを実行するには、エディターでテストファイルを開くか、 プロジェクト ツールウィンドウでテストファイルを選択し、コンテキストメニューから を選択します。
どちらの場合でも、GoLand は実行 / デバッグ構成を作成し、それを保存して後で利用できます。
デバッグテスト
必要に応じて ブレークポイントの設定。
実行構成によるテストのデバッグ
構成の一覧から Cucumber.js の実行 / デバッグ構成を選択し、一覧またはツールバーの
をクリックします。
実行 ツールウィンドウの テストランナー タブで、テストの実行を監視し、テスト結果を分析します。 詳細については、 テスト結果を調べるを参照してください。
テストファイルからテストをデバッグする
単一のテストをデバッグするには、必要に応じて ブレークポイントを設定し 、デバッグするシナリオにキャレットを置き、コンテキストメニューから を選択します。
単一のテストファイルからすべてのテストをデバッグするには、エディターでテストファイルを開くか、 プロジェクト ツールウィンドウでテストファイルを選択し、コンテキストメニューから を選択します。
どちらの場合でも、GoLand は実行 / デバッグ構成を作成し、それを保存して後で利用できます。
TypeScript で書かれたテストの実行とデバッグ
Cucumber.js の実行 / デバッグ構成を 上記のように作成します。
起動前 領域で、
をクリックし、一覧から TypeScript のコンパイル を選択して、使用する tsconfig.json ファイルを指定します。 GoLand は、Cucumber.js を実行する前に、この tsconfig.json で TypeScript コンパイラーを実行します。

TypeScript で書かれたテストをデバッグするには、 tsconfig.json を開き、
"sourceMap": trueを設定してソースマップを有効にします。
ナビゲーション
GoLandを使うと、ファイルと関連テストファイル間、または テストランナータブのテスト結果からテストにジャンプできます。
テストとそのサブジェクト間、またはその逆に移動するには、エディターでファイルを開き、コンテキストメニューから または を選択するか、 Ctrl+Shift+T を押します。
.feature ファイルのステップからステップ定義に移動するには、 Ctrl を押したまま、ステップにカーソルを合わせ、リンクになったときにステップをクリックします。
テスト結果からテスト定義に移動するには、「テストランナー 」タブでテスト名を 2 回クリックするか、コンテキストメニューから「 」を選択するか、単に F4 を押します。 テストファイルがエディターで開き、テスト定義にキャレットが置かれます。
構文ハイライトを構成する
Cucumber.js 対応の構文ハイライトは、環境設定や慣習に合わせて設定できます。
設定 ダイアログ(Ctrl+Alt+S )で に移動します。
カラースキームを選択するか、デフォルトから継承されたハイライト設定を受け入れるか、 色とフォント で説明されているようにカスタマイズします。