この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

単体テストメソッドの実行

Apex コードの機能性を検証するには、単体テストを実行します。Apex テストメソッドは、開発者コンソール、[設定]、Force.com IDE で実行するか、API を使用して実行できます。
次のグルーピングによる単体テストを実行できます。
  • 特定のクラスの一部または全部のメソッド
  • クラスのセットの一部または全部のメソッド
  • 定義済みのクラスのスイート (「テストスイート」と呼ばれる)
  • 組織のすべての単体テスト

テストを実行するには、次のいずれかを使用します。

Salesforce ユーザインターフェース (開発者コンソールなど) から開始するすべての Apex テストを非同期で並列実行します。Apex テストクラスは、実行のための Apex ジョブキューに置かれます。24 時間あたりに実行できるテストクラスの最大数は、500 または組織のテストクラス数 × 10 の大きい方です。Sandbox 組織および Developer Edition 組織ではこの制限が緩和されており、500 または (20 x 組織のテストクラス数) の大きい方です。

リリースの一環として実行される Apex テストは、常に順序に従って同期実行されます。

メモ

Salesforce ユーザインターフェースによるテストの実行

Apex テスト実行ページで単体テストを実行できます。このページで開始したテストは非同期的に実行するため、テストクラスの実行が完了するのを待つ必要はありません。Apex テスト実行ページは、テストが完了すると、テストの状況を更新して結果を表示します。
Apex テスト実行ページ
  1. [設定] から、[クイック検索] ボックスに「Apex テスト実行」と入力し、[Apex テスト実行] を選択します。
  2. [テストを選択...] をクリックします。

    管理パッケージからインストールされた Apex クラスがある場合、最初に [Apex クラス] ページの [すべてのクラスをコンパイル] をクリックしてこれらのクラスをコンパイルして、リストに表示されるようにする必要があります。「Apex クラスの管理」を参照してください。

    メモ

  3. 実行するテストを選択します。テストのリストには、テストメソッドが含まれるクラスのみが表示されます。
    • インストール済み管理パッケージからテストを選択するには、管理パッケージの対応する名前空間をドロップダウンリストから選択します。リストには、選択した名前空間の管理パッケージのクラスのみ表示されます。
    • 組織にローカルに存在するテストを選択するには、ドロップダウンリストから [私の名前空間] を選択します。管理パッケージからインストールされたクラスを除くローカルクラスのみリストに表示されます。
    • テストを選択するには、ドロップダウンリストから [すべての名前空間] を選択します。管理パッケージからインストールされたかどうかに関わらず、組織内のすべてのクラスが表示されます。

    テストが現在実行中のクラスは、リストに表示されません。

    メモ

  4. テスト実行時のコードカバー率情報の収集を除外するには、[コードカバー率をスキップ] を選択します。
  5. [実行] をクリックします。

Apex テスト実行ページを使用してテストを実行した後、開発者コンソールでコードカバー率の詳細を確認できます。

[設定] から、[クイック検索] ボックスに「Apex」と入力し、[Apex テスト実行] を選択して、[テスト履歴を表示] をクリックし、自分で実行したテストだけでなく、組織のすべてのテスト結果を表示します。テスト結果は、クリアされない限り実行終了後 30 日間残ります。

Force.com IDE を使用したテストの実行

Force.com IDE を使用してテストを実行できます。『Apex Test Results View in the Force.com IDE Developer Guideを参照してください。

Lightning プラットフォーム開発者コンソールを使用したテストの実行

開発者コンソールでは、特定のテストクラスの一部またはすべてのテストを実行したり、テストスイートを設定および実行したり、すべてのテストを実行したりできます。開発者コンソールでは、テストはバックグラウンドで非同期に実行されます。ただし、テスト実行に含まれるクラスが 1 つだけで、[Tests (テスト)] メニューで [Always Run Asynchronously (常に非同期に実行)] を選択していない場合を除きます。テストを非同期に実行することにより、テスト実行中に開発者コンソールの他の領域で作業することができます。テスト実行が完了したら、開発者コンソールでテスト結果を確認することができます。また、テストでカバーされたクラスのコードカバー率全体を確認することができます。

詳細は、Salesforce ヘルプの「開発者コンソール」を参照してください。

API を使用したテストの実行

runTests() コールを SOAP API から使用して、テストを同期して実行できます。
1RunTestsResult[] runTests(RunTestsRequest ri)
このコールでは、すべてのクラスのすべてのテスト、特定の名前空間のすべてのテスト、または特定の名前空間のクラスのサブセットにあるすべてのテストを、RunTestsRequest オブジェクトに指定されているとおりに実行できます。次の値が返されます。
  • 実行されたテストの合計数
  • コードカバー率の統計
  • 失敗したテストごとのエラー情報
  • 成功したテストごとの情報
  • テストの実行に要した時間

runTests() の詳細は、「Apex の SOAP API および SOAP ヘッダー」を参照してください。

Tooling REST API を使用してテストを実行することもできます。/runTestsAsynchronous/ および /runTestsSynchronous/ エンドポイントを使用して、テストを非同期にまたは同期して実行します。使用方法の詳細は、Tooling API: REST リソース」を参照してください。