0

Thank you in advance

VF PageName : ObjectAnalysisMultiExport ControllerExtension Name: AnalyzeObjMultiExportCtrlExt

I am receiving Constructor not defined exception, can any one of you please explain


public class AnalyzeObjMultiExportCtrlExt {

    public ApexPages.StandardSetController ctrl;
    public AnalyzeObjMultiExportCtrlExt(ApexPages.StandardSetController controller) {
        //controller.setPageSize(10);
        ctrl = controller;
        if(ctrl.getSelected().size()==0)
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.info, 'Please Select atleast one Record to Export'));
    }
    public PageReference Export(){
        List<Id> objAnyIDs = new List<Id>();
        //system.debug(ctrl.getSelected()); 
        try{
            if (ctrl.getSelected().size()>0) {
                for(sObject sObj : ctrl.getSelected()) {
                    objAnyIDs.add(sObj.Id);
                }
                AnalyzeObjectExportCtrl.exportMultipleToExcel(objAnyIDs);
            }
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.CONFIRM, ' Your Request is processed.'));
        } catch(system.Exception e) {
            ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, ' There is an Error'));
        }
        return null;
    }
}

@isTest 
public class AnalyzeObjMultiExportCtrlExtTestClass
{
    static testMethod void constructorTest() 
    {
        Object_Analysis__c objAna = new Object_Analysis__c();
        objAna.Name = 'Account test';
        objAna.Custom__c=True;
        insert objAna;

        Test.StartTest(); 
        PageReference myVfPage = Page.ObjectAnalysisMultiExport;
        Test.setCurrentPage(myVfPage);
        ApexPAges.StandardController sc = new ApexPages.StandardController(objAna);
        //AnalyzeObjMultiExportCtrlExt testController = new AnalyzeObjMultiExportCtrlExt(sc);

        Test.StopTest();
    }
}

1 Answer 1

2

In your class you are using ApexPages.StandardSetController but in test class doing ApexPAges.StandardController. try this intead

Sample code

@isTest 
public class TestStandardSetController 
{
 static testMethod void testMethod1() 
 {
 List <Account> lstAccount = new List<Account>();

 Account testAccount = new Account();
 testAccount.Name='Test Account' ;
 lstAccount.add(testAccount);
 Account testAccount1 = new Account();
 testAccount1.Name='Test Account1' ;
 lstAccount.add(testAccount1);

 insert  lstAccount;

 Test.startTest();
  Test.setCurrentPage(Page.YOUR_PAGE);
  ApexPages.StandardSetController stdSetController = new ApexPages.StandardSetController(lstAccount);
  stdSetController.setSelected(lstAccount);
  YOUR_Extension ext = new YOUR_Extension(stdSetController);
 Test.stopTest();
 }
}

. Try to create StandardSetController.

1
  • 1
    @user27639 If it solve your problem. Then you can mark this answer as accepted and close this question. Jan 8, 2016 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.