我有一个测试类,使用此代码
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 ...我,即。系统管理员,应该是标准用户。
为什么?......以及如何解决?