2014-12-16 6 views
5

APEX 코드를 테스트하기 위해 정적 리소스를 통해 CSV 파일을로드합니다. 나는 내 테스트에 다음 코드를 사용하고 있습니다 : CSV 파일 모양의Custom sObject가있는 Test.loadData는 예외를 발생합니다.

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

처음 몇 줄과 같이 :

Territory__c,Zip_Code__c 
ABC,123 
DEF,456 

나는 다음과 같은 오류가 점점 오전 :

System.StringException: Unknown field: Territory__c

Territory__c은 내 맞춤 sObject를위한 유효한 API 필드 이름입니다.

My_Territory__c.Territory__c과 같이 필드 이름 앞에 sObject 이름을 추가하려고했지만 그 중 하나도 작동하지 않았습니다.

또한 API 이름 (예 : Territory) 대신 필드 이름을 사용했지만 그 중 하나도 작동하지 않았습니다.

계정 및 연락처와 같이 내장 sObject가있는 Test.loadData를 사용하는 예제는 많이 있지만 사용자 정의 sObject를 보여주는 예제는 없습니다. 나는 이것이 단지 사용자 정의 객체로는 불가능하다고 생각하기 시작했다.

답변

2

test.loadData를 사용하면 맞춤 개체를 사용할 수 있습니다. 테스트 데이터 CSV 헤더는 예제에서와 같이 필드 이름 만 필요합니다.

코드도 좋습니다. 내가 발견 할 수있는 유일한 차이점은 변수가 강력한 형식의 목록이라는 것입니다. 제 코드에서는 작동하는 List를 사용합니다 :

List<sObject> testdata = Test.loadData(MyCustomObject__c.sObjectType, 'mytestdatafile');