1

パブリック ゲスト ユーザーと Web サービス呼び出しを介して force.com データにアクセスする基本的なフロントエンドを作成しました。基本的に、コードは、ユーザーが選択できるさまざまなアイテムのレート (別名コスト) を要求しています (10 行目)。すべてがサンドボックスで期待どおりに機能しています。しかし、驚いたことに、これまで force.com と連携して作業したことがない Web サービス呼び出しのために、テスト クラスの作成に行き詰まっています。

私の具体的なハングアップは、通常は 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 スキルがオフになっているかもしれません。

4

2 に答える 2

0

HttpCalloutMockインターフェイスを見る必要があります。

于 2015-09-05T03:19:36.473 に答える