Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Apex Replay Debugger を設定する

メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

このステップでは、Apex Replay Debugger でテストとデバッグを行うために、Apex コードを使用して Salesforce DX プロジェクトを作成します。

Salesforce DX プロジェクトを作成する

  1. Visual Studio Code で [View (表示)] メニューをクリックし、[Command Palette... (コマンドパレット...)] を選択します。または、Ctrl + Shift + P (Windows または Linux) または Cmd + Shift + P (macOS) のキーボードショートカットを使用して、コマンドパレットを開くこともできます。
  2. 検索ボックスに sfdx create project (sfdx プロジェクトを作成) と入力し、[SFDX: Create Project (SFDX: プロジェクトを作成)] を選択します。
    [SFDX: Create Project (SFDX: プロジェクトを作成)] コマンドに絞り込まれたコマンドパレット
  3. [Standard project template (default) (標準プロジェクトテンプレート (デフォルト))] を選択します。
  4. プロジェクト名として debugger-project と入力します。
  5. プロジェクトを作成するフォルダーを選択します。数秒後、Visual Studio Code が自動的に再読み込みされ、新しいプロジェクトフォルダーが開きます。

  6. [Explorer (エクスプローラー)] サイドバーで、force-app/main/default/classes フォルダーを展開します。フォルダーは空です。次のセクションでこれを変更します。

Apex クラスを作成する

  1. [Explorer (エクスプローラー)] サイドバーで、classes フォルダーを右クリックし、[SFDX: Create Apex Class (SFDX: Apex クラスを作成)] を選択します。[New File (新規ファイル)] コマンドは選択しないでください。このコマンドでは必要なメタデータの .xml ファイルが作成されません。
  2. 名前に AccountService と入力し、デフォルトディレクトリを受け入れます。
  3. AccountService.cls の内容を次のコードに置き換えます。このファイル内のバグ 🐞 は意図的なものですので、まだ修正しないでください。😉
    public with sharing class AccountService {
      public Account createAccount( String accountName, String accountNumber, String tickerSymbol ) {
        Account newAcct = new Account(
          Name = accountName,
          AccountNumber = accountNumber,
          TickerSymbol = accountNumber
        );
        return newAcct;
      }
    }
  4. ファイルを保存します。

コードのポイント

  • AccountService クラスには 1 つのメソッド createAccount があります。
  • このメソッドは、メソッドパラメーターに割り当てられた取引先名、取引先番号、株式コード項目を使用して取引先 sObject 変数を作成し、返します。

Apex テストを作成する

  1. [Explorer (エクスプローラー)] サイドバーで、classes フォルダーを右クリックし、[SFDX: Create Apex Class (SFDX: Apex クラスを作成)] を選択します。
  2. 名前として AccountServiceTest と入力します。
  3. AccountServiceTest.cls の内容を次のコードに置き換えます。
    @IsTest
    private class AccountServiceTest {
      @IsTest
      static void should_create_account() {
        String acctName = 'Salesforce';
        String acctNumber = 'SFDC';
        String tickerSymbol = 'CRM';
        Test.startTest();
          AccountService service = new AccountService();
          Account newAcct = service.createAccount( acctName, acctNumber, tickerSymbol );
          insert newAcct;
        Test.stopTest();
        List<Account> accts = [ SELECT Id, Name, AccountNumber, TickerSymbol FROM Account WHERE Id = :newAcct.Id ];
        Assert.areEqual( 1, accts.size(), 'should have found new account' );
        Assert.areEqual( acctName, accts[0].Name, 'incorrect name' );
        Assert.areEqual( acctNumber, accts[0].AccountNumber, 'incorrect account number' );
        Assert.areEqual( tickerSymbol, accts[0].TickerSymbol, 'incorrect ticker symbol' );
      }
    }
  4. ファイルを保存します。

コードのポイント

  • AccountService クラスには 1 つのテストメソッド should_create_account があります。
  • このテストメソッドでは、AccountService.createAccount メソッドを使用して、期待される項目値として名前に「Salesforce」、取引先番号に「SFDC」、株式コードに「CRM」を指定して取引先 sObject 変数を作成します。
  • このテストメソッドは挿入された取引先レコードを照会し、期待される項目値を確認します。

上記の Apex クラスを作成すると、classes フォルダーには 4 つのファイルが含まれます。AccountService.cls、AccountServiceTest.cls、およびそのメタデータファイルです。これらのファイルがない場合、[New File (新規ファイル)] コマンドではなく [SFDX: Create Apex Class (SFDX: Apex クラスを作成)] コマンドを使用してファイルを作成したことを確認してください。

force-app/main/default/classes フォルダー内のファイルが表示されている Visual Studio Code

組織を承認する

メモ

Salesforce CLI でハンズオン組織を承認するにはハンズオン組織のユーザー名とパスワードが必要です。Trailhead Playground を使用している場合、こちらの記事に、ユーザー名を見つけてパスワードをリセットする方法が説明されています。

次に、Salesforce CLI でハンズオン組織を承認して、CLI と Visual Studio Code 向け Salesforce 拡張機能を使用して組織を操作できるようにします。

  1. Visual Studio Code で [View (表示)] メニューをクリックし、[Command Palette... (コマンドパレット...)] を選択します。または、Ctrl + Shift + P (Windows または Linux) または Cmd + Shift + P (macOS) のキーボードショートカットを使用して、コマンドパレットを開くこともできます。
  2. 検索ボックスに sfdx authorize org (sfdx 組織を承認) と入力し、[SFDX: Authorize an Org (SFDX: 組織を承認)] を選択します。
    [SFDX: Authorize an Org (SFDX: 組織を承認)] コマンドに絞り込まれたコマンドパレット
  3. ログイン URL オプションを選択します。Trailhead Playground 組織の場合、[Project Default (プロジェクトのデフォルト)] または [Production (本番)] を選択できます。
    Visual Studio Code で組織を承認するためのログイン URL オプション
  4. 組織の別名として debuggerOrg と入力します。
  5. ブラウザーで Salesforce ログインページが開きます。Trailhead Playground のログイン情報を入力します。
  6. アクセスを許可するよう要求されたら、[Allow (許可)] をクリックします。
  7. Visual Studio Code に戻り、Trailhead Playground 組織が承認されていることを確認します。Successfully authorized <username> with org ID <orgid> (組織 ID <orgid> で <username> の承認に成功しました) のような出力が表示されるはずです。
    Visual Studio Code で組織が承認されたことを確認する出力パネル

これで完了です。[Verify Step (ステップを確認)] をクリックして、ハンズオン組織で Salesforce CLI が承認されていることを確認し、次のステップに進んで、Apex Replay Debugger でコードをデバッグしましょう。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む