2014-12-16 10 views
5

Ich lade eine CSV-Datei über Static Resourced, um meinen APEX-Code zu testen. Ich verwende den folgenden Code in meinem Test:Test.loadData mit benutzerdefiniertem sObject löst Ausnahme aus

List<Territory_Zip_Code__c> territoryData = Test.loadData(Territory_Zip_Code__c.sObjectType, TERRITORY_ZIP_CODES_STATIC_RESOURCE_NAME); 

Die ersten Zeilen der CSV-Datei aussehen wie so:

Territory__c,Zip_Code__c 
ABC,123 
DEF,456 

ich die folgende Störung erhalte:

System.StringException: Unknown field: Territory__c

Territory__cist ein gültiger API-Feldname für mein benutzerdefiniertes sObject.

Ich habe auch versucht, den sObject-Namen vor dem Feldnamen, wie My_Territory__c.Territory__c hinzufügen, aber das hat auch nicht funktioniert.

Zusätzlich habe ich versucht, den Feldnamen anstelle des API-Namens (zum Beispiel Territory) zu verwenden, aber das hat auch nicht funktioniert.

Es gibt viele Beispiele für die Verwendung von Test.loadData mit integrierten sObjects wie Account und Contacts, aber keine Beispiele für benutzerdefinierte sObjects. Ich fange an zu denken, dass dies mit benutzerdefinierten Objekten nicht möglich ist.

Antwort

2

Die Verwendung von test.loadData funktioniert sicherlich mit benutzerdefinierten Objekten. Der Testdaten-CSV-Header benötigt nur die Feldnamen, wie Sie in Ihrem Beispiel haben.

Ihr Code sieht auch gut aus. Der einzige Unterschied, den ich feststellen konnte, ist, dass Ihre Variable eine stark typisierte Liste ist. In meinem Code benutze ich eine Liste, die zu funktionieren scheint:

Verwandte Themen