Salesforce Apex Web 服务测试 class 错误

Salesforce Apex web service test class error

我正在使用 Salesforce Apex Web 服务创建记录。下面是我写的 apex 网络服务 class:

global class createCloudRecord {

    global class projectInputs{
        webService Integer ProjectID;
        webService String ProjectName;
    }

    webService static Boolean createSFRecords(List<projectInputs> inputs) {

        cv__Designation__c desg = new cv__Designation__c();
        desg.cv__Active__c = true;
        desg.cv__Default__c = false;
        desg.cv__Description__c = 'Test Desc';
        desg.OwnerId = '002B0000000K9soIAD';
        desg.Name = inputs[0].ProjectName;
        desg.cv__ExternalId__c = string.valueof(inputs[0].ProjectID);

        insert desg;

        return true;
    }
}

它工作正常并通过 SOAP API 调用在 SF 云上创建记录。现在我必须为上面的 Web 服务编写测试 class,代码覆盖率至少为 75%。

下面是我为测试编写的代码 class:

@isTest 
private class createCloudRecordTest {

    static testMethod void testCreateSFRecords() {
         createCloudRecord.projectInputs project = new createCloudRecord.projectInputs();
         project.ProjectID = 12345;
         project.ProjectName = 'TestProject';


        createCloudRecord.createSFRecords(project);
    }
}

但这行显示错误 createCloudRecord.createSFRecords(project);:

Error: Compile Error: Method does not exist or incorrect signature.

任何人都知道我怎样才能让它工作。

谢谢!

我找到了问题的答案。问题出在我的 Web 服务中,我将参数定义为列表,但在上面的测试中 class 我将参数作为单个记录传递。

所以它应该像下面这样:

@isTest 
private class createCloudRecordTest {

    static testMethod void testCreateSFRecords() {
         createCloudRecord.projectInputs project = new createCloudRecord.projectInputs();
         project.ProjectID = 12345;
         project.ProjectName = 'TestProject';
         list<createCloudRecord.projectInputs> projects = new list<createCloudRecord.projectInputs>();
         projects.add(project);

        createCloudRecord.createSFRecords(projects);
    }
}