顶点错误:"Save error: Method does not exist or incorrect signature"



我目前正在学习apex(使用Force.com IDE),并且在为自定义控制器编写测试时遇到了一些麻烦。

控制器类如下:

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;
    }
}

,测试类为:

@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);    
    }
}

objects = controller.getObjects();行上,我得到一个错误,上面写着:

保存错误:方法不存在或签名不正确:[CustomController].getObjects()

有人知道为什么我得到这个错误吗?

一个很好的简写:

public List<TestObject__c> objects {get; private set;}

它为你创建了getter/setter,看起来更简洁。至于你当前的问题,是的——很难直接将代码保存到生产环境中——特别是测试类放在单独的文件中。

最好在sandbox/dev org中完成,然后将部署到生产环境(部署到服务器- Force.com IDE)。但是如果您必须直接保存到生产环境中,那么我会将测试方法与您的类结合起来。但是从长远来看,将@test置于专用的测试类之上才是正确的方法。这样就不会占用你宝贵的资源了。

相关内容

最新更新