Salesforce Apex System.run没有反映在触发器上下文中

时间:2017-02-22 15:29:16

标签: triggers salesforce profile apex dml

我有一个测试类,使用此代码

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操作的触发器处理程序中,当我输出当前用户的Id

System.debug(UserInfo.getProfileId());

它没有获取我在System.runAs方法中设置的用户的个人资料ID。它获取用户的个人资料ID ...我,即。系统管理员,应该是标准用户。

为什么?......以及如何解决?

0 个答案:

没有答案