問題
開発者は、取引先オブジェクトにトリガーを作成し、そのトリガーが正常に一度に多数のレコードを処理できるかテストしたいと考えています。開発者チームは、一意の名前を持つ200個の取引先レコードでトリガーをテストする必要があると判断しました。
最小限のコード量で単体テスト内のテストデータを作成するためには、どのような作業を行う必要がありますか。2つ選びなさい。
- テストデータを含む静的リソースを作成します。
- テストクラスで@isTest(isParallel=true)を使用します。
- テストクラスで@isTest(seeAllData=true)を使用します。
- Test.loadDataを使用して、テストメソッドにデータを入力します。
正解
- テストデータを含む静的リソースを作成します。
- テストクラスで@isTest(isParallel=true)を使用します。
- テストクラスで@isTest(seeAllData=true)を使用します。
- Test.loadDataを使用して、テストメソッドにデータを入力します。
解説
それぞれの選択肢の理由について説明します。
□ テストデータを含む静的リソースを作成します。
これは正解です。静的リソースを使用してテストデータを保存し、Test.loadData
メソッドを利用してそれらのデータをテストクラスでロードすることは、大量のテストデータを効率的に作成する有効な方法です。
□ テストクラスで@isTest(isParallel=true)を使用します。
これは不正解です。@isTest(isParallel=true)
アノテーションは、テストクラスの並列実行を許可するものであり、テストデータの作成とは関係ありません。
□ テストクラスで@isTest(seeAllData=true)を使用します。
これは不正解です。@isTest(seeAllData=true)
は、テストメソッドが本番環境のデータにアクセスすることを許可するものです。テストデータの作成には関係なく、通常は避けるべき実施方法です。
□ Test.loadDataを使用して、テストメソッドにデータを入力します。
これは正解です。Test.loadData
メソッドは、静的リソースからのデータをロードして、テスト環境内で使用するための効率的な方法です。これは、大量のテストデータを迅速かつ効率的に作成するのに適しています。
コメント