현재 Apex (Force.com IDE 사용)를 배우고 있으며 사용자 지정 컨트롤러 테스트를 작성할 때 몇 가지 문제가 있습니다.Apex 오류 : "저장 오류 : 메서드가 존재하지 않거나 부정확 한 서명"
public with sharing class CustomController {
private List<TestObject__c> objects;
public CustomController() {
objects = [SELECT id, name FROM TestObject__c];
}
public List<TestObject__c> getObjects() {
return objects;
}
}
및 테스트 클래스는 다음과 같습니다 :
을 다음Save error: Method does not exist or incorrect signature: [CustomController].getObjects()
objects = controller.getObjects();
줄에
@isTest
private class ControllerTest {
static testMethod void customControllerTest() {
CustomController controller = new CustomController();
System.assertNotEquals(controller, null);
List<TestObject__c> objects;
objects = controller.getObjects();
System.assertNotEquals(objects, null);
}
}
내가라는 오류가있어 다음과 같이
컨트롤러 클래스입니다
누구나 왜이 오류가 발생했는지 알 수 있습니까?
첫 번째 수업이 확실히 저장 되었습니까? 이것에서 뚜렷한 것을 볼 수 없습니다. 일반적으로 메시지를 보았을 때 나는 바보 같은 짓을했기 때문에 그것을 볼 수 있습니다. 예를 들어 정적 메서드를 호출하려했지만 실제로 정적 키워드를 사용하지 않았습니다! –
클래스를 붙여 익명으로 실행 (하지만 TestObject__c 대신 Contact 사용) 한 다음 새로운 인스턴스에서 getObjects를 호출하면 오류없이 작동합니다. –
코드에서 다른 오류가 발생하지 않았습니다. 파일은 로컬에 저장되었지만 서버에 저장되지 않았습니다 (테스트가 통과하지 않았기 때문일 수 있음). 또한 Execute Anonymous에서 시도 할 때 정확히 동일한 메시지를받습니다. – Apexer