IntelliJ IDEA 2019.1ヘルプ

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 を押してアプリケーションを実行します。または、エディターの左ガターで、icons toolwindows toolWindowRun svg アイコンをクリックし、実行 'name'を選択します。

    scala run app editor

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

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

  1. sbtプロジェクトを開きます。

  2. ビルドとインポートをsbtに委譲する場合は、sbtプロジェクトツールウィンドウで icons general settings svg アイコンをクリックして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. 表示されたリストで、メインメソッドを実行する実行タスクを選択します。

    sbt tool window run task
    実行結果はsbtシェルツールウィンドウに表示されます。
    sbt shell run app

Scalaコードをデバッグする

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

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

  1. エディターでScalaアプリケーションを開きます。

  2. 左ガターで、デバッグするコード行のブレークポイントを設定します。ブレークポイントの詳細については、ブレークポイントのトピックを参照してください。

  3. 必要に応じて、実行/デバッグ構成(実行 | 構成の編集)にアクセスして設定を調整できますが、通常、デフォルト設定ではデバッグセッションを正常に開始して完了させることができます。

  4. Shift+F9を押します。または、メインツールバーで icons actions startDebugger svg アイコンをクリックして、デバッグプロセスを開始します。

  5. デバッグツールウィンドウで結果を評価します。

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

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

  1. sbtプロジェクトを開きます。

  2. エディターでアプリケーションを開きます。

  3. エディターで、左側のガターで、デバッグするコード行のブレークポイントを設定します。
    scala code breakpoints
  4. sbtプロジェクトツールウィンドウで、sbt shell icon アイコンをクリックして、sbtシェルを開始します。

  5. sbtシェルツールウィンドウで、icons actions startDebugger svg アイコンをクリックしてデバッガサーバーに接続し、デバッグセッションを開始します。
    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プロジェクトツールウィンドウの icons actions refresh svg アイコンをクリックしてプロジェクトを更新するか、sbt設定で指定された自動インポートオプションを使用して build.sbtを変更するたびにプロジェクトを自動的に更新します。

    • 通常のScalaプロジェクトをお持ちの場合は、プロジェクト構造ダイアログを使用してテストライブラリーを設定してください。

  2. エディターでテストを作成したいクラスを開き、クラス宣言を含む行の中にカーソルを置きます。

  3. Ctrl+Shift+T を押して新規テストの作成を選択します。

  4. ダイアログが開き、テスト設定を指定してOKをクリックします。

  5. エディターでテストを開くか、Ctrl+Shift+F10 を押すか、テストクラスを右クリックし、コンテキストメニューから実行 'test name'を選択します。

  6. IntelliJ IDEAは自動的にテストの実行/デバッグ設定を作成しますが、設定の設定を編集する場合は、メインメニューの実行 | 構成の編集をクリックします。

  7. 実行/デバッグ構成ダイアログの右側で、テストスイートの設定を指定し、OKをクリックします。
    設定には標準的なオプションがあり、詳細はテストの実行セクションを参照してください。ただし、次のScala関連のオプションを指定することもできます。
    • sbtシェルを使用するチェックボックスを選択すると、sbtシェルでテストが実行され、UIをsbtで使用するでプラットフォームテストランナーと同じ形式でテスト結果が表示されます。

    • テスト種類オプションを選択すると、実行するテストの種類を指定できます。例:正規表現を選択し、クラスとテストパターンを設定することができます。

  8. メインツールバーで、icons toolwindows toolWindowRun svg アイコンをクリックしてテストを実行します。

  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. 左ガターで、icons toolwindows toolWindowRun svg アイコンをクリックし、カバレッジで '名前'を実行オプションを選択します。
    IntelliJ IDEAはテストを実行し、カバレッジツールウィンドウにコードカバレッジ情報を表示します。

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

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

    1. メインメニューから実行 | 構成の編集を選択します。

    2. 実行/デバッグ構成ダイアログで、左側のオプションから icons general add アイコンをクリックします。

    3. 表示されたリストから、必要な構成を選択します。

    4. 右のオプションから、コード・カバレッジタブをクリックします。

    5. デフォルト設定を調整し、OKをクリックします。
      詳細については、コードカバレッジ測定の設定を参照してください。

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

    1. Ctrl+Alt+S を押して設定/環境設定ページを開きます。

    2. 左のオプションから、ビルド、実行、デプロイ | カバレッジを選択します。

    3. 右のオプションから設定を調整し、OKをクリックします。

最終更新日: 2019年5月20日

関連ページ:

ScalaワークシートとAmmoniteを操作する

ScalaワークシートまたはAmmoniteを使用して、Scalaコードを迅速に評価して実行できます。IntelliJ IDEAではScalaワークシートとAmmoniteファイルは同じファイル拡張子.scを持っているため、IntelliJ IDEAにあなたのプロジェクトでそのようなファイルを扱う方...

プロジェクト

新しいプロジェクトを作成するときは、プロジェクトタイプを選択し、SDKを設定し、プロジェクト名と場所を指定する必要があります。また、新規プロジェクトウィザードで必要な設定を指定することもできます。これにより、プロジェクトを初めて開くときに事前設定されるようになります。例:IDEはライブラリーをロード...

SBT

新しいプロジェクトを作成するには、新規プロジェクト・ウィザードを起動し、次のようなウィザードの手順に従います。Scalaとsbtを選択します。プロジェクトの名前、場所、JDKとsbtとScalaのバージョンを指定します。(sbtとScalaのバージョンは自動的にフェッチされます。)、sbtプロジェク...

ブレークポイント

ブレークポイントは、特定の時点でプログラムの実行を中断してその動作を調べるためのソースコードマーカーです。一度設定すると、明示的に削除するまでブレークポイントはプロジェクト内に残ります(一時的な行ブレークポイントを除く)。ブレークポイントを含むファイルが外部で変更された場合、たとえば、VCSを介して...

デバッグツールウィンドウ: コンソール

このタブはでマークされ、出力およびエラー・ストリーム・メッセージを表示します。コンソールツールバー:スタックトレースの上下このボタンをクリックすると、スタックトレース内を上下に移動し、カーソルがソースコード内の対応する場所にジャンプします。ソフトラップを使用このボタンをクリックすると、出力のソフトラ...

テストの実行

通常、IntelliJ IDEAは、作成した実行/デバッグ構成を実行することによって、他のアプリケーションと同じ方法でテストを実行してデバッグします。その際、指定されたテストクラスまたはメソッドをテストランナーに渡します。多くの場合、コンテキストメニューからテストセッションを開始できます。この目的の...