Mark Hammer's Blog

SalesforceやTrailheadに関する情報を投稿しているブログです。

Trailhead モジュール:Apex テスト

※この内容は2018/3時点のものです。

Apex 単体テストの開始

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_intro

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • Apexクラス「VerifyDate」をテストしてください。「VerifyDate」のコードはここからコピーして開発者コンソールに貼り付けしてください。
  • Apexクラス「VerifyDate」は日付が適切な範囲内にあるかをテストするクラスです。範囲外の場合は、範囲内の月末の日付を返します。
  • 単体テスト用のApexクラス名は「TestVerifyDate」としてください。
  • 単体テストでは、Apexクラスに含まれるコードすべての行のシナリオをカバーする必要があります。結果としてコードカバレッジが100%になります。
  • このChallengeを確認する前に、テストクラスを少なくとも1回(開発者コンソールの[Run All]で)実行してください。

Apex トリガのテスト

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_triggers

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

  • Apexトリガ「RestrictContactByName」をテストしてください。「RestrictContactByName」のコードはここからコピーして開発者コンソールに貼り付けしてください。
  • 「RestrictContactByName」は、姓が「INVALIDNAME」である取引先責任者の挿入、更新をブロックするトリガです。
  • 単体テスト用のApexクラス名は「TestRestrictContactByName」としてください。
  • 単体テストでは、Apexトリガに含まれるコードすべての行のシナリオをカバーする必要があります。結果としてコードカバレッジが100%になります。
  • このChallengeを確認する前に、テストクラスを少なくとも1回(開発者コンソールの[Run All]で)実行してください。

Apex テストのテストデータの作成

https://trailhead.salesforce.com/ja/modules/apex_testing/units/apex_testing_data

  • 説明:日本語
  • Challenge:英語ハンズオン

Challenge要約

以下を満たすApexクラスを作成してください。

  • Apexクラス名は「RandomContactFactory」とし、スコープは public としてください。
  • Apexクラスに @isTest アノテーションを使用してはいけません。
  • Apexクラスには、(@testMethod アノテーションを使用しない)「generateRandomContact」というpublic static method が必要です。
  • 「generateRandomContacts」メソッドは、最初の引数にIntegerを、2番目の引数にStringを設定する必要があります。 最初の引数は生成される取引先責任者の数、2番目の引数は生成される取引先責任者の姓です。
  • 「generateRandomContacts」メソッドの返り値の型は「List<Contact>」である必要があります。
  • 「generateRandomContacts」メソッドは、一貫して一意の名(FirstName)を持つ取引先責任者を生成する必要があります。
  • 例として、「generateRandomContacts」メソッドが返す取引先責任者の名はループ回数に基づいて命名することができます(つまり、「Test1」、「Test2」)。
  • 「generateRandomContacts」メソッドは、取引先責任者レコードをデータベースに挿入してはいけません。