Sponsored
今回は、Salesforceで特定のユーザでロジックをテストする際のテストコードの書き方を備忘録として紹介します。
Salesforceでは、テストクラス内で特定のユーザとして操作を行うために System.runAs(user) メソッドを使用します。
これは、異なるユーザーロールやプロファイルに基づく権限制御のテストを行う際に特に利用するメソッドです。
テストクラスの書き方
簡単な解説
このテストメソッドでは、まず新たなユーザを作成しています。
その後 System.runAs(u) ブロック内でレコードの作成を行い、そのレコードが正しく作成されたかを確認しています。
この System.runAs(u) ブロック内で行われる操作は、指定されたユーザ u として行われます。
ただし、System.runAs()メソッドが影響を与えるのはユーザの権限やロールだけであり、ガバナ制限や他の制限については影響を与えません。
また、テストユーザの作成はテストメソッドのガバナ制限に対してカウントされません。
ひとこと
Salesforce で想定外の挙動をする時には、権限が関係する場合が多いです。
ApexTest で確認できる範囲で、テストクラスを書いておくとより安全ですね。
外部コールアウトやバッチクラスのテストも忘れがちなので、備忘録としてメモしておきましょう。
【Apex】Apex Test で外部コールアウトをテストする方法 | Lazy Developer
Salesforce で開発する以上、Apex によるコーディングは避けて通れません。 そして、Apexで開発する場合は、Apex Test クラスの実装も同じく避けては通れません。 今回は、知ってるんだけど忘れがちな、外部コールアウトのテストクラスの実装を備忘録として紹介します。 コールアウトの Mock クラスの定
【Salesforce】Apex Test でバッチ処理をテストする方法 | Lazy Developer
今回は、Salesforceでバッチ処理を実装した際のテストコードの書き方を備忘録として紹介します。 ここでは、バッチクラス ApexSampleBatch をテストするテストクラスApexSampleBatchTest の作成についての例です。 テストクラスの書き方
Apex Test はしっかり書くように日頃から心がけましょうね。
最終的な工数やトラブルの削減につながりますよ。