2017-02-22 13 views
0

を反映していない、このコードでSalesforceのアペックスSystem.runAs、Iは、テストクラスを有するトリガーコンテキストで

System.debug(UserInfo.getProfileId()); 

Profile p = [SELECT Id FROM Profile WHERE Name = 'Standard User']; 
User u = new User(ProfileId = p.Id, ...); 
System.runAs(u) 
{ 
    System.debug(UserInfo.getProfileId()); 

    Database.delete(records, false); 
} 

このDML操作用火災、I出力電流Idをuser`s

その
System.debug(UserInfo.getProfileId()); 

私はSystem.runAsメソッドで設定したユーザーのプロファイルIDを取得しません。ユーザーのプロフィールIDを取得します。標準ユーザーであるべきシステム管理者。

なぜですか...修正する方法は?

答えて

0

トリガーの実行はシステムコンテキストレベルです。ユーザーコンテキストのApexクラス(共有あり)にログインします。

関連する問題