若要为权限集组提供 Apex 测试覆盖率,请使用类中的方法编写测试。
System.Test.calculatePermissionSetGroup()
该方法强制立即计算 聚合指定权限集组的权限。由于强制计算很重要 针对 Apex CPU 限制,并且可能需要复杂的数据设置,最佳做法是尽量减少 执行此操作的次数。calculatePermissionSetGroup()
将此测试设置为在“测试设置方法”中运行一次,然后在后续测试中重复使用数据。
@isTest public class PSGTest {
@isTest static void testPSG() {
// get the PSG by name (may have been modified in deployment)
PermissionSetGroup psg = [select Id, Status from PermissionSetGroup where DeveloperName='MyPSG'];
// force calculation of the PSG if it is not already Updated
if (psg.Status != 'Updated') {
Test.calculatePermissionSetGroup(psg.Id);
}
// assign PSG to current user (this fails if PSG is Outdated)
insert new PermissionSetAssignment(PermissionSetGroupId = psg.Id, AssigneeId = UserInfo.getUserId());
// additional tests to validate permissions granted by PSG
}
}