Apex runAsメソッド テストで使用するメソッドのサンプル
環境
Salesforce
構文
System.runAs(u){
// 処理コード
}
通常、Apexコードはすべてシステムモードで実行されますが、
runAsメソッドを使用するとユーザを指定してApexを実行することができます。
使用例
作成するユーザのプロファイルを検索(Select)して、それを新規ユーザに割り当てています。
//ユーザを作成する Profile pf = [Select id,name From Profile where name = '標準ユーザ' LIMIT 1]; User user = new User( alias = 'test8', username ='test8@arkgame.com.test', email = 'test8@arkgame.com', ProfileId = pf.id, emailencodingkey='UTF-8', lastname='test8', languagelocalkey='en_US', localeidkey='en_US', timezonesidkey = 'America/Los_Angeles' ); insert user; System.Test.startTest(); //作成したユーザで処理の実行 System.runAs(user){ //処理コード } System.Test.stopTest();