IntelliJ IDEA 2018.1 Help

Scalaの実行、デバッグ、テスト

IntelliJ IDEAは、通常IntelliJ IDEAの他のアプリケーションと同様に、Scalaアプリケーションを実行、デバッグ、テストすることができます。 IntelliJ IDEAでは、Scalaコードをカバレッジで実行し、コードカバレッジの設定を行うこともできます。

Scalaアプリケーションを実行する

ScalaコードをIntelliJ IDEAで実行したり、sbtシェルを使用したり、Scalaワークシートを使用して素早くコードを評価したりすることができます。

Intellij IDEAを使用してScalaアプリケーションを実行する

  1. 通常、IntelliJ IDEAの他のプロジェクトを作成またはインポートと同様にScalaプロジェクトを作成またはインポートします。
  2. エディタでアプリケーションを開きます。
  3. Shift+F10 を押してアプリケーションを実行します。または、エディタの左ガターで、 run アイコンをクリックし、実行 '名前'を選択します。
    scala run app editor

sbtシェルを使用してScalaアプリケーションを実行する

任意のsbtプロジェクトの一部であるsbtシェルを使用してアプリケーションを実行できます。

  1. sbtプロジェクトを開きます。
  2. ビルドとインポートをsbtに委譲する場合は、sbtプロジェクトツールウィンドウで settings アイコンをクリックしてsbt設定を開きます。
    sbt設定ページで、ビルドとインポートにはsbtシェルを使用します(必須sbt 0.13.5+)オプションを選択し、[OK]をクリックします。
    sbt settings for running sbt shell
    (このオプションは、sbtプロジェクトを作成またはインポートするときにも使用できます)。
    ビルドとインポートをsbtに委任したくない場合でも、アプリケーションの実行を含めて、直接sbtシェル(sbt shell icon)とsbtコマンドを実行する(英語)で直接作業できます。
  3. sbtプロジェクトツールウィンドウで、sbtタスクノードをクリックします。
  4. 表示されるリストで、メインメソッドを実行するrunタスクを選択します。
    sbt tool window run task
    実行結果がsbtシェルツールウィンドウに表示されます。
    sbt shell run app

Scalaワークシートを使用してScalaコードを実行する

IntelliJ IDEAでは、Scalaワークシートを作成し、それを使用してScalaコード結果をScalaエディタの特別なウィンドウで評価することができます。

  1. プロジェクトを右クリックし、新規 | Scala ワークシートを選択します。

    プロジェクトのクラスをクラスパスに簡単に含めるには、srcディレクトリにワークシートを作成することをお勧めします。それはテストの目的に役立つかもしれません。

  2. 新しいScalaワークシートウィンドウにScalaワークシートの名前を入力し、[OK]をクリックします。

    その結果、.sc拡張子のファイルが開きます。

    sc worksheet
  3. コードを入力し、 run を押して結果を確認してください。 インタラクティブモードチェックボックスを選択すると、コード結果が自動的に表示されます。
  4. .scファイルの操作中に、次の操作を実行できます。
    • 評価のパフォーマンスを向上させるには、プロジェクトのビルドチェックボックスをオフにします。この場合、プロジェクトの変更の自動チェックは無効になります。結果は、コードの右側のビューに表示されます。
    • Scalaオブジェクトを評価することができます。
      sc wsheet fold
    • 左側のコードに影響を与えずに出力を折りたたみ、特定のステートメントに一致する出力のブロックだけを展開することができます。
      sc wsheet unfold
    • ワークシート設定を構成することもできます。
      1. ファイル | 設定 | 言語とフレームワーク | Scalaを選択し、ワークシートタブをクリックします。
      2. ワークシートタブでは、出力カットオフの制限を設定し、ワークシートを実行するモードを設定できます。
        sc worksheet settings

Scalaコードをデバッグする

IntelliJ IDEAでは、IntelliJ IDEAデバッガまたはsbtシェルを使用してコードをデバッグできます。

Intellij IDEAを使用してScalaコードをデバッグする

  1. エディタでScalaアプリケーションを開きます。
  2. 左ガターで、デバッグするコード行のブレークポイントを設定します。ブレークポイントの詳細については、ブレークポイントの使用のトピックを参照してください。
  3. 必要に応じて、実行/デバッグ構成(Run | Edit Configurations)にアクセスして設定を調整できますが、通常、デフォルト設定ではデバッグセッションを正常に開始して完了させることができます。
  4. Shift+F9を押します。または、メインツールバーで debug アイコンをクリックして、デバッグプロセスを開始します。
  5. デバッグツールウィンドウで結果を評価します。

    デバッグツールウィンドウでオプションを使用する方法については、デバッグツールのウィンドウ参照を参照してください。

sbtシェルを使用してScalaコードをデバッグする

  1. sbtプロジェクトを開きます。
  2. エディタでアプリケーションを開きます。
  3. エディタで、左側のガターで、デバッグするコード行のブレークポイントを設定します。
    scala code breakpoints
  4. sbtプロジェクトツールウィンドウで、 sbt shell icon アイコンをクリックして、sbtシェルを開始します。
  5. sbtシェルツールウィンドウで、 debug アイコンをクリックしてデバッガサーバに接続し、デバッグセッションを開始します。
    IntelliJ IDEAはデバッグセッション用の実行/デバッグ設定も作成します。
    sbt run debug config for sbt shell
    必要に応じて、実行/デバッグ構成設定を編集できますが、コードを正常にデバッグするにはデフォルト設定で十分です。
  6. プログラムを実行します。
    sbt shell program
    デバッグツールウィンドウで結果を評価します。
    sbt debug tool window

Scalaアプリケーションのテスト

IntelliJ IDEAは、ScalaTest(英語)Specs2(英語)を使用してScalaアプリケーションをテストすることができます。また、テストスコープを設定して実行することもできます。

Scalaテストを使用してScalaアプリケーションをテストする

  1. プロジェクトを開きます。
    • sbtプロジェクトがある場合は、 build.sbt ファイルを開き、ScalaTestに以下の依存関係を指定します:
      libraryDependencies += "org.scalactic" %% "scalactic" % "3.0.1"
      libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test"

      プロジェクトを更新するには、sbtプロジェクトツールウィンドウの refresh アイコンをクリックするか、 build.sbtを変更するたびに自動的にプロジェクトを更新するために、sbt設定で指定された自動インポートオプションを使用します。

    • 通常のScalaプロジェクトをお持ちの場合は、プロジェクト構造ダイアログを使用してテストライブラリを設定してください。
  2. エディタでテストを作成したいクラスを開き、クラス宣言を含む行の中にカーソルを置きます。
  3. Ctrl+Shift+T を押して新規テストの作成を選択します。
  4. ダイアログが開き、テスト設定を指定して[OK]をクリックします。
  5. エディタでテストを開くか、 Ctrl+Shift+F10 を押すか、テストクラスを右クリックし、コンテキストメニューからテスト名を実行するを選択します。
  6. IntelliJ IDEAは自動的にテストの実行/デバッグ設定を作成しますが、設定の設定を編集する場合は、メインメニューの実行 | 構成の編集をクリックします。
  7. 実行/デバッグ構成ダイアログの右側で、テストスイートの設定を指定し、[OK]をクリックします。
    設定には標準的なオプションがあり、詳細はテストの実行セクションを参照してください。ただし、次のScala関連のオプションを指定することもできます。
    • sbtシェルを使用するチェックボックスを選択すると、sbtシェルでテストが実行され、UIをsbtで使用するでプラットフォームテストランナーと同じ形式でテスト結果が表示されます。
    • テスト種類オプションを選択すると、実行するテストの種類を指定できます。例:正規表現を選択し、クラスとテストパターンを設定することができます。
  8. メインツールバーで、 run アイコンをクリックしてテストを実行します。
  9. 実行ツールウィンドウで結果を評価します。

Specs2を使用してScalaアプリケーションをテストする

Specs2を使用してScalaアプリケーションをテストする手順は、次のオプションを除いて、ScalaTestを使用してScalaアプリケーションをテストするセクションで説明した手順と同じです。

  • sbtプロジェクトには次の依存関係を指定する必要があります。
    libraryDependencies ++= Seq("org.specs2" %% "specs2-core" % "3.9.5" % "test")

    通常のScalaプロジェクトでは、プロジェクト構造ダイアログを使用してテストライブラリを設定します。

  • プラットフォームテストランナーと同じ形式でテスト結果を表示するUIをsbtで使用するオプションは使用できません。

Scalaのテストスコープ

IntelliJ IDEAでは、ScalaTestまたはSpecs2を使用してスコープをテストできます。

スコープ内でテストを実行したり、Scalaプロジェクトのスコープ全体をテストしたりすることができます。

  1. コードを作成します。次の例を確認してください。
    scalaTest code RunTestInScope
  2. エディタでは、テストスコープに応じて次の操作を実行できます。
    • スコープ内のいずれかのテストのコンテキストメニューを開くと、そのスコープ内の指定されたテストの実行コンフィギュレーションだけを作成できます。
      scalaTest RunDebugConf for Test in Scope
    • スコープ全体のコンテキストメニューを開くと、スコープ内のすべてのテストの実行コンフィギュレーションを作成できます。
      scalaTest RunDebug for Scope
  3. テストを実行し、実行ツールウィンドウで出力を表示します。
    scalaTes console RunTestInScope
    また、sbtシェルを使用してスコープテストを実行することもできます。

カバレッジ付きScalaテストを実行する

IntelliJ IDEAを使用すると、コードカバレッジでテストスイートを実行できます。

  1. プロジェクトを開きます。
  2. 問題のテストをエディタで開きます。
  3. 左ガターで、 run アイコンをクリックし、カバレッジで '名前'を実行オプションを選択します。
    IntelliJ IDEAはテストを実行し、カバレッジツールウィンドウにコードカバレッジ情報を表示します。

また、必要に応じて、デフォルトのコードカバレッジ設定やコードカバレッジの動作を調整することもできます。

すでにテストスイートを実行している場合、IntelliJ IDEAは自動的に実行/デバッグ設定を作成します。作成した実行コンフィギュレーションを開き、設定を調整することができます。
テストスイートの新しい実行コンフィギュレーションを作成する場合は、次の手順を実行します。

  1. メインメニューから実行 | 構成の編集を選択します。
  2. 実行/デバッグ構成ダイアログで、左側のオプションから add アイコンをクリックします。
  3. 表示されたリストから、必要な構成を選択します。
  4. 右のオプションから、コード・カバレッジタブをクリックします。
  5. デフォルト設定を調整し、[OK]をクリックします。
    詳細については、コードカバレッジ測定の設定を参照してください。

コードカバレッジの動作を調整することもできます。

  1. Ctrl+Alt+S を押して設定/環境設定ページを開きます。
  2. 左のオプションから、ビルド、実行、デプロイ | カバレッジを選択します。
  3. 右のオプションから設定を調整し、[OK]をクリックします。
最終変更日: 2018年6月26日