Salesforce:用于Web服务的APEX测试类

时间:2015-08-25 15:07:35

标签: salesforce apex test-class

我创建了一个基本前端,它通过公共访客用户和网络服务调用进入我的force.com数据。本质上,代码请求用户可以选择的各种项目的费率(也称为费用)(第10行)。正如预期的那样,一切都在沙盒上工作。但是,由于Web服务调用,我很难写一个测试类,我很惊讶,以前从未和force.com一起工作过。

我的特定挂断是如何填充测试类中通常作为URL字符串的一部分出现的细节(第7行和第8行)?在那个特定的,并且,我认为,相当常规,问题我知道如何为此构建测试类。任何意见都会非常感激。

我试图为以下代码制作APEX测试类:

@RestResource(urlMapping='/rowsrate')
global class ROWSRate {
    @HttpGet
    global static void doGet(){ // grabs the Rate (cost) information for the provided Resource Type, ie Police Officer and returns a JSON object
        String callback = RestContext.request.params.get('callback');

        Date endDateParam = Date.parse(RestContext.request.params.get('enddate')); // transmute string parameter to date on the fly
        String resourceName = RestContext.request.params.get('resctype');

        List<ROWS_RateRange__c> resourceTypeList = [select Cost__c, Rate__r.Name from ROWS_RateRange__c where LookupName__c = :resourceName and Start_Date__c <= :endDateParam and End_Date__c >= :endDateParam];

        RestResponse res = RestContext.response;
        res.addHeader('Content-Type', 'application/javascript');
        res.responseBody = Blob.valueOf(callback + '(' + JSON.serialize(resourceTypeList) + ')');
    }
}
PS我在这个主题上做了我公平的谷歌搜索,但发现了大多数古老的物品。也许今天我的Google技能已经关闭。

2 个答案:

答案 0 :(得分:0)

您需要查看HttpCalloutMock界面。

答案 1 :(得分:0)

这是我最终构建的课程,用于测试上述内容。全面报道。

(i, j) = (220, 284)
(i, j) = (284, 220)
(i, j) = (1184, 1210)
(i, j) = (1210, 1184)
(i, j) = (2620, 2924)
(i, j) = (2924, 2620)