我正在开发一个关于salesforce平台的应用程序,现在我想打包我的应用程序并上传它,但是系统告诉我我必须先测试我的apex控制器。在我的应用程序中,我使用fieldSet函数:
public static List<Schema.FieldSetMember> getDetailed_ContentFields(String typeName,String fieldSetName) {
List<Schema.FieldSetMember> f = Schema.getGlobalDescribe().get(typeName)
.getDescribe().fieldSets.getMap().get(fieldSetName).getFields();
return f;
}
我想创建一个用于测试的字段集,但我不能使用&#34; Schema.FieldSetMember fieldSet = new Schema.FieldSetMember();&#34;因为Schema.FieldSetMember类型无法构造。我可以通过编码在我的测试代码中创建fieldset吗?非常感谢。
答案 0 :(得分:0)
简短回答否则您无法在测试中创建字段集,除非您使用工具API。
字段集是元数据,可以在测试中引用,如下所示:
@IsTest
static void testGetDetailedContentFields() {
System.assertEquals(
MyClassName.getDetailed_ContentFields(MyTypeName, MyFieldSetName),
Schema.getGlobalDescribe().get(MyTypeName).getDescribe().fieldSets.getMap().get(MyFieldSetName).getFields(),
'Expected the same fieldset to be returned'
);
}