【Salesforce認定プラットフォームデベロッパー】試験対策:第9問

問題

開発者は、さまざまな種類のSalesforceケースに対する独立した要件をテストできるように、スイート全体のベースラインデータセット(取引先、取引先責任者、製品、資産)を作成する必要があります。
各単体テストに必要なデータを効率的に生成できるアプローチはどれですか?

A.単体テストクラスの先頭に@IsTest(seeAllDatatrue)を追加します。

B.単体テストのTest.startTestの前にテストデータを作成します。

C.@TestSteupをvoidメソッドで使用します。

D.StubAPLを使用してモックを作成します。

正解

A.単体テストクラスの先頭に@IsTest(seeAllDatatrue)を追加します。

B.単体テストのTest.startTestの前にテストデータを作成します。

C.@TestSteupをvoidメソッドで使用します。

D.StubAPLを使用してモックを作成します。

解説

A. 不正解 - @IsTest (seeAllData=true)を使用すると、実際のデータにアクセスできますが、テストの独立性が失われるため、ベースラインデータセットを効率的に管理できません。

B. 不正解 - Test.startTestの前にデータを作成する方法もありますが、毎回データを作成する必要があり、効率的ではありません。

C. 正解 - @TestSetupを使用すると、複数のテストメソッドで共有できるベースラインデータを一度だけ作成できるため、効率的です。

D. 不正解 - Stub APLを使用してモックを作成する方法は、テストの独立性を確保するための一般的な方法ではありません。

ポイント

つまり、
単体テストを効率的に行うためには、@TestSetupアノテーションを使って、最初に一度だけテストに必要な基本的なデータを作成するのが最も効果的です。これにより、複数のテストメソッドで同じデータを再利用でき、テストの実行が速くなります。他の選択肢は、データ管理が非効率的になるか、テストの独立性を損なう可能性があります。

おすすめの記事