Salesforce 如何理解地图中嵌入列表的@TestClass Apex代码
我试图理解这段代码,这似乎是一个Salesforce 如何理解地图中嵌入列表的@TestClass Apex代码,salesforce,apex,apex-code,Salesforce,Apex,Apex Code,我试图理解这段代码,这似乎是一个测试类,但我很难理解这段代码,我从概念上知道列表和地图收集在Sales force中是如何工作的,但这似乎有点难理解 .简而言之,对我来说,这似乎是在测试一种浏览CollaborationGroupMember列表的方法。 为此,已经创建了CollaborationGroup,代码试图添加一个用户 有人能花点时间让我逐行理解下面的代码吗 提前谢谢 @isTest public class TestGroupFactory { public stat
测试类
,但我很难理解这段代码,我从概念上知道列表和地图收集在Sales force中是如何工作的,但这似乎有点难理解
.简而言之,对我来说,这似乎是在测试一种浏览CollaborationGroupMember列表的方法。
为此,已经创建了CollaborationGroup,代码试图添加一个用户
有人能花点时间让我逐行理解下面的代码吗
提前谢谢
@isTest
public class TestGroupFactory {
public static Map<CollaborationGroup, List<CollaborationGroupMember>> groupWithMember() {
CollaborationGroup groupe = new CollaborationGroup(Name = 'Test1', CollaborationType = 'Public');
insert groupe;
groupe = [SELECT Id, Name FROM CollaborationGroup WHERE Name = 'Test1'];
List<User> users = [SELECT Id, Name, Numero_de_plaque__c, SenderEmail
FROM User
WHERE Name = 'User User'];
List<CollaborationGroupMember> cgms = new List<CollaborationGroupMember>();
for (User u : users) {
CollaborationGroupMember cgm = new CollaborationGroupMember();
cgm.CollaborationGroupId = groupe.Id;
cgm.MemberId = u.Id;
cgms.add(cgm);
}
insert cgms;
return new Map<CollaborationGroup, List<CollaborationGroupMember>>{groupe => cgms};
}
}
@isTest
公共类TestGroupFactory{
公共静态映射groupWithMember(){
CollaborationGroup groupe=new CollaborationGroup(名称='Test1',CollaborationType='Public');
插入组;
groupe=[从CollaborationGroup中选择Id、名称,其中名称='Test1'];
列表用户=[选择Id、名称、编号、发送邮件]
来自用户
其中Name='User'];
列表cgms=新列表();
for(用户u:用户){
CollaborationGroupMember cgm=新的CollaborationGroupMember();
cgm.CollaborationGroupId=groupe.Id;
cgm.MemberId=u.Id;
cgms.add(cgm);
}
插入CGM;
返回新映射{groupe=>cgms};
}
}
从技术上讲,它是一个测试类,但不执行任何测试。其目的是为包含测试方法的其他测试类创建测试数据。它具有@isTest注释的原因是,它只能在测试上下文中访问,并且不计入组织的总测试覆盖率
显示的方法创建一个Chatter组,如果用户的名称为“User”,则将用户添加到该组中
下面的代码插入Chatter组,然后检索它,以便Id可用。我不认为在这种情况下检索是必要的,但我必须测试它
CollaborationGroup groupe = new CollaborationGroup(Name = 'Test1', CollaborationType = 'Public');
insert groupe;
groupe = [SELECT Id, Name FROM CollaborationGroup WHERE Name = 'Test1'];
下一节检索用户(可能是在另一个测试类中创建的)
组和组成员将添加到映射并返回
return new Map<CollaborationGroup, List<CollaborationGroupMember>>{groupe => cgms};
返回新映射{groupe=>cgms};
List<CollaborationGroupMember> cgms = new List<CollaborationGroupMember>();
for (User u : users) {
CollaborationGroupMember cgm = new CollaborationGroupMember();
cgm.CollaborationGroupId = groupe.Id;
cgm.MemberId = u.Id;
cgms.add(cgm);
}
insert cgms;
return new Map<CollaborationGroup, List<CollaborationGroupMember>>{groupe => cgms};