Apex テスト

Apex テスト

Apex 拡張機能では、Apex テストを実行して、コードの機能を検証することができます。

Apex テストを探索する

サイドバーのテストビューには、LWC テストや Apex テストなどの機能があります。テストビューにアクセスするには、VS Code エディタの左側にあるアクティビティバーのビーカーアイコン()をクリックします。このアイコンが表示されない場合は、プロジェクトのルートディレクトリに sfdx-project.json ファイルが含まれていることを確認してください。テストビューが空の場合は、Java 設定 が正しく設定されているか確認してください。

Apex テスト機能を使用して、1 つのテストメソッド、1 つのクラスのテストメソッド、またはすべての Apex テストを実行します。

テストの実行

  • 1 つのメソッドのテストを実行するには、テストメソッド名にカーソルを置き、再生アイコンをクリックします (カーソルを合わせたときのテキスト: 1 つのテストを実行)。
  • クラス内のすべてのメソッドのテストを実行するには、テストクラスの名前にカーソルを合わせて再生アイコンをクリックします (カーソルを合わせたときのテキスト: テストを実行)。
  • すべてのテストを実行するには、Apex テストビューの上にカーソルを置き、再生アイコンをクリックします ()。

Apex テストを実行すると、コマンドパレットに SFDX: Re-Run Last Invoked Apex Test Class (SFDX: 最後に呼び出されたテストクラスを再実行) および SFDX: Re-Run Last Invoked Apex Test Method (SFDX: 最後に呼び出されたテストメソッドを再実行) コマンドが表示されます。

テスト結果の表示

  • テストが合格すると、クラスやメソッドの横にある青色のアイコンが緑色のアイコンに変わります。
  • テストが失敗した場合は、アイコンが赤色に変わります。

テスト実行の詳細を確認するには、サイドバーのテストクラス名にカーソルを合わせます。

テストクラスの定義に移動

テストクラス、合格したテストメソッド、またはまだ実行していないメソッドの定義に移動するには、その名前をクリックします。失敗したテストメソッドの名前をクリックすると、失敗が発生した行にジャンプします。

テスト結果のクリア

テスト結果をクリアするには、Apex テストビューの上部にある更新アイコンをクリックします (フロート表示テキスト: [Refresh Tests (テストの更新)])。

Apex テストビューの更新

最後にテストビューを表示してからメソッドやクラスを追加した場合、Apex テストビューの上部にある更新アイコンをクリックすると、最新のリストが表示されます。

ファイル内から Apex テストを実行

エディタウィンドウで開いているクラスファイルから Apex テストを実行することができます。Apex テストメソッドの定義の上にある Run Test (テストを実行) をクリックするか、Apex テストクラスの定義の上にある Run All Tests (すべてのテストを実行) をクリックします。テスト結果は出力パネルに表示され、問題パネルには失敗したテストのスタックトレースが表示されます。失敗の原因となったコードの行に移動するには、スタックトレースをクリックします。

テストを実行とすべてのテストを実行のコードレンズを使った Apex テストの実行

Apex テストのコードカバレッジのハイライト

1 つまたは複数のテストを実行するたびに、Apex クラスと Apex トリガのコードカバレッジ結果を取得することができます。これを行うには、ワークスペースの設定を編集して、salesforcedx-vscode-core.retrieve-test-code-coveragetrue に設定し、Apex テストを実行します。これで、コードカバレッジが出力パネルに表示され、Apex クラスや Apex トリガごとのカバレッジ率や、テスト実行結果でカバーされなかった行が表示されます。

コードカバレッジのある Apex テスト結果

テストのコードカバレッジを確認するには、サイドバーの下部にある組織エイリアスの隣にある三本線のアイコン ( ) をクリックし、テストされている Apex クラスまたは Apex トリガを開きます。三本線のアイコンをクリックすると、コードカバレッジハイライトの有効、無効が切り替わります。

Apex テストのビジュアルコードカバレッジの有効化

Apex テストのビジュアルコードカバレッジのデモ

Feedback or Bugs | Edit this Article