带有自定义sObject的Test.loadData引发异常

Swi*_*eet 5 csv salesforce apex-code apex

我正在通过Static Resourced加载CSV文件来测试我的APEX代码.我在测试中使用以下代码:

List<Territory_Zip_Code__c> territoryData = Test.loadData(Territory_Zip_Code__c.sObjectType, TERRITORY_ZIP_CODES_STATIC_RESOURCE_NAME);
Run Code Online (Sandbox Code Playgroud)

CSV文件的前几行如下所示:

Territory__c,Zip_Code__c
ABC,123
DEF,456
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

System.StringException:未知字段:Territory__c

Territory__c 我的自定义sObject 的有效API字段名称.

我也尝试在字段名称前添加sObject名称,My_Territory__c.Territory__c但是也没有用.

另外,我尝试使用字段名称而不是API名称(例如Territory),但这也不起作用.

有许多使用Test.loadData和内置sObjects的示例,例如Account和Contacts,但没有显示自定义sObject的示例.我开始认为这对于自定义对象是不可能的.

小智 2

使用 test.loadData 肯定可以与自定义对象一起使用。测试数据 CSV 标头仅需要字段名称,如示例中所示。

你的代码看起来也不错。我能发现的唯一区别是你的变量是一个强类型列表。在我的代码中,我使用了一个似乎有效的列表:

List<sObject> testdata = Test.loadData(MyCustomObject__c.sObjectType, 'mytestdatafile');
Run Code Online (Sandbox Code Playgroud)