現在、(Force.com IDEを使用して)apexを学習していますが、カスタムコントローラのテストを書くときに問題が発生します。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を使用してExecute Anonymousに貼り付けてから、その新しいインスタンスでgetObjectsを呼び出すとエラーなく動作します。 –
私はコードに他のエラーはありませんでした。ファイルはローカルに保存されますが、サーバーには保存されません(おそらく、テストが通過しなかったためです)。私はまた、Execute Anonymousで試してみるとき、まったく同じメッセージを受け取ります。 – Apexer