【Salesforce 認定Platformデベロッパー】試験対策:第65問

問題

開発者が、プライベートメソッドを含む Apex クラスを作成しました。プライベートメソッドがテストクラスからアクセスできるようにするために、開発者は何をすればよいでしょうか。

  • TestVisible属性をApexクラスに追加する
  • SeeAllData属性をテストメソッドに追加する
  • SeeAllData属性をテストクラスに追加する
  • TestVisible属性をApexメソッドに追加する

正解

  • TestVisible属性をApexクラスに追加する
  • SeeAllData属性をテストメソッドに追加する
  • SeeAllData属性をテストクラスに追加する
  • TestVisible属性をApexメソッドに追加する

解説

以下は、Salesforce Apexでの@TestVisible@SeeAllDataアノテーションの基本的な解説です。

  • @TestVisible
    • 説明: このアノテーションは、通常テストからアクセスできないメンバーやメソッド(プライベートやプロテクテッドなど)をテストクラスからアクセス可能にするために使用されます。これにより、プライベートメソッドや変数の単体テストを実施することができます。
    • 制約: メソッドやメンバー変数、内部クラス(他のクラスの中に定義されたクラス)に使用できますが、外部クラス(全体のクラス)、インターフェース、プロパティ、トリガーでは使用できません。
  • @SeeAllData
    • 説明: デフォルトでは、Apexのテストは実際の組織データにアクセスできない環境で実行されます。しかし、@SeeAllData アノテーションを使用することで、テストメソッドが実際のデータにアクセスすることができるようになります。
    • 制約: 特定のテストケースで実データのアクセスが必要な場合にのみ使用すべきです。

それぞれの選択肢の理由について説明します。

□ TestVisible属性をApexクラスに追加する
これは不正解です。@TestVisible アノテーションは、特定のメソッドや変数に適用されるものであり、全体のクラスに適用するものではありません。

□ SeeAllData属性をテストメソッドに追加する
これは不正解です。@SeeAllData アノテーションは、テストメソッドが実際のデータにアクセスするかどうかを制御するためのものであり、プライベートメソッドへのアクセスとは関係ありません。

□ SeeAllData属性をテストクラスに追加する
これは不正解です。@SeeAllData アノテーションは、テストクラスが実際のデータにアクセスするかどうかを制御するためのものであり、プライベートメソッドへのアクセスとは関係ありません。

□ TestVisible属性をApexメソッドに追加する
これは正解です。@TestVisible アノテーションをプライベートメソッドに適用することで、そのメソッドはテストメソッドからアクセス可能となります。

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

コメント

コメントする

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約が適用されます。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次