【Salesforce】runAsメソッドの使い方

スポンサーリンク
runAsメソッドの使い方 Apex

こんにちは、にいるです。

SalesforceのrunAsメソッドの使い方について書いてみます。

【ヘルプ】runAs メソッドの使用

1.runAsメソッドとは

runAsメソッドはテストで使用するメソッドです。

通常、Apexコードはすべてシステムモードで実行されますが、runAsメソッドを使用するとユーザを指定してApexを実行することができます。

つまり!特定のユーザでテストクラスを実行できるよっていう機能です。

コードはこんな感じで、引数にユーザを渡します。

また、runAsメソッドを使用すると、ユーザ権限と項目レベルの権限は強制実行されなく、レコード共有のみを適用します。

runAsメソッドの内の処理が完了すると、残りのApexは元のシステムモードで実行されます。

2.runAsメソッドを使用したサンプルコード

下記がrunAsメソッドを使用したサンプルコードです。

作成するユーザのプロファイルをSelectして、それを新規ユーザに割り当てています。

そして、Test.startTest内でrunAsメソッドを使用しています。

あと、Salesforceのユーザライセンスは考慮しなくていいみたいです。
runAsメソッド内であれば、どれだけユーザを作っても制限にカウントされません。

ただ、DMLの制限数にはカウントされるので、ガバナ制限制限には注意が必要です。

3.まとめ

いかがでしたでしょうか。

runAsメソッドを使用するシチェーションは共有権限の確認が多いと思います。

複雑な共有を実装している組織の場合には、いろんなユーザで参照権限がないかを確認しておくことをおすすめします。

皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。

ではでは!

Salesforce 機能別 まとめページ

コメント

タイトルとURLをコピーしました