RSpec
RSpec(英語) は、Ruby/Rails アプリケーションをテストするための一般的なビヘイビア駆動開発 (BDD) フレームワークです。 RubyMine には多数の RSpec サポート機能があり、テストの実行、コーディング支援、ナビゲーション、リファクタリングなどを利用できます。
RSpec サポートを有効にする
rspec-rails gem を Gemfile に追加します。
Ctrl を 2 回押して、 なんでも実行 ポップアップを開きます。
rails generate rspec:installコマンドを使用して RSpec を開始し、必要なファイルとディレクトリを作成します。
rspec gem を Gemfile に追加します。
Ctrl を 2 回押して、 なんでも実行 ポップアップを開きます。
rspec --initコマンドを使用して RSpec を開始し、必要なファイルとディレクトリを作成します。
RSpec テストを作成する
RubyMine は、Rspec テストを作成する複数の方法を提供します。 専用のテンプレートから RSpec テストを作成したり、 テストが必要なクラスから生成したり、Rails アプリケーションを開発している場合は フレームワーク固有の Rails ジェネレーターを使用するから生成したりできます。
テンプレートから RSpec テストを作成する
次のいずれかを実行してください:
Project ツールウィンドウ (Alt+1) で、新しいファイルを作成したい ディレクトリ を選択し、メインメニューから を選択します。
ディレクトリ を右クリックし、コンテキストメニューから 新規 を選択します。
ディレクトリ を選択し、 Alt+Insert を押します。
リストから Ruby テスト を選択し、 Enter を押します。
新しい Ruby テスト ポップアップで、 RSpec を選択し、記述されているクラス名を指定して、 Enter を押します。

RubyMine は、初期コンテンツでテストファイルを作成し、エディターで開きます。 このファイルをテンプレートとして使用し、必要なコードを追加します。

テスト対象から RSpec テストを作成する
エディターで必要なクラスを開きます。
移動 | テスト に移動するか、 Ctrl+Shift+T を押します。
対応するテストが存在しない場合、 テストの作成 ポップアップが表示されます。

このポップアップでは、次のいずれかを選択できます。
新規テストの作成: クラスの新しいテストを作成し、テスト対象へのパスに基づいてディレクトリ構造を複製します。
実行 'rails generate': Rails ジェネレーターを使用して、クラスの新しいテストを生成します。
新規テストの作成 オプションを選択してください。
宛先ディレクトリの選択 ダイアログで、 spec フォルダーを選択し、 OKです。 をクリックします。

呼び出されたポップアップで、 RSpec テンプレートを選択し、 Enter を押します。

RubyMine は、必要なディレクトリに新しい RSpec テストを作成し、テスト対象へのパスに基づいてディレクトリ構造を複製します。 例: モデルテストを作成している場合、テストは spec/models ディレクトリに保存されます。
Rails ジェネレーターを使用して RSpec テストを作成する
(Ctrl+Alt+G) に進みます。
呼び出されたポップアップで、必要なジェネレーター名の入力を開始します。 例: RSpec モデルテストを作成するには、 rspec:model と入力してから
rails g rspec:modelを選択します。 Enter を押します。
ジェネレーターの引数を指定します。 例: ユーザー モデルの場合、引数として
userを渡します。 OKです。 をクリックしてください。
コード補完
RubyMine は、RSpec ファイル内のクラス名、変数、メソッド、共有の例やコンテキストなどにコード補完を提供します。

ナビゲーション
テスト対象に移動する
Ctrl+Shift+T を押すか、メインメニューから を選択すると、RSpec テストからそのテスト対象にすばやく移動できます。
宣言または使用箇所に移動
RubyMine は、ファクトリ、フィクスチャ、共有例、テストで使用される共有コンテキストの宣言と使用間のナビゲーションをサポートします。
次のいずれかを実行してください:
RSpec テストの目的のシンボルにキャレットを置き、 Ctrl+B を押します。
または Ctrl+Click を利用します: Ctrl を押しながらシンボルの上にマウスカーソルを合わせます。 シンボルがハイパーリンクに変わると、宣言がツールチップに表示されます。 キーを離さずハイパーリンクをクリックすると、エディターで宣言が開きます。
RSpec テストを実行する
RubyMine を使用すると、指定したフォルダーやファイルから個別または全ての RSpec テストを実行できます。 Rake タスクを使用してテストを実行することもできます。
フォルダーから複数の RSpec テストを実行する
プロジェクト ビューで、目的のフォルダーを右クリックし、 実行 'All features in ...' を選択します。

エディターから RSpec テストを実行する
必要な RSpec ファイルを開き、実行するテストの横にある
ガターアイコンをクリックします。
または、目的のテストにキャレットを置き、 Alt+Enter を押し、必要な実行アクションを選択して、 Enter を押します。
記述されたテストサブジェクトに関連するすべてのテストを実行する場合は、ファイル内の
describeメソッドの横にあるガターアイコンをクリックし、 実行 'RSpec: ...' を選択します。
ガターアイコンで状態を示す
(成功したテスト用)または
(失敗したテスト用)を使って、特定のテストを再実行できます。
共有例を実行する際、RubyMine はこの例を実行するためのコンテキスト選択を提案します。 目的の共有例の宣言の横にある
ガターアイコンをクリックし、 実行 'RSpec: ...' を選択します。 表示される サンプルグループの実行 ポップアップで、共有された例を実行するために必要なコンテキストを選択します。
Rake タスクを使用して RSpec テストを実行する
Ctrl を 2 回押して、 Run Anything ポップアップを呼び出します。 必要なタスク名 (
rake specで始まります) の入力を開始し、リストから選択して Enter を押します。
コンテキストメニューやエディターから RSpec テストを実行すると、RubyMine は対応する RSpec 一時構成 を自動作成し、保存できます。 必要に応じて、事前定義されたテンプレートから 手動で実行 / デバッグ構成 を作成できます。
詳細については、 実行 / デバッグ構成: RSpec を参照してください。
RSpec 'let' を抽出するリファクタリング
RSpec 'let' を抽出するリファクタリングにより、指定されたコードフラグメントをメモ化されたヘルパーメソッドに抽出できます。 これを行うには、次の手順を実行します。
スペックファイルで、必要なコードフラグメントを選択し、メインメニューから ⌘ ⇧ L を選択します。
ヘルパーメソッドの目的の名前を指定し、 Enter を押します。
コード箇所が複数見つかった場合、RubyMine はそれらをコード編集ヘルパーメソッド呼び出しに置き換えることを提案します。

見つかった出現箇所を置き換えるには、 はい をクリックします。 選択した出現箇所のみを置換する場合は、 ノー をクリックします。