0

この特定のクラスのテストクラスを作成するのに苦労しています。誰かがこれを実装するコードを提供できれば、とても感謝しています。

どうもありがとう

クラス:

global class TalentIntCustomerBatch implements Database.Batchable<sObject>, Database.AllowsCallouts{
    global final String query;

    global TalentIntCustomerBatch(String q){
        query=q;
    }

    global Database.QueryLocator start(Database.BatchableContext BC){
        return Database.getQueryLocator(query);
    }

    global void execute(Database.BatchableContext BC, List<sObject> scope){     
        for(sObject s : scope){
            Contact c = (Contact)s;
            TalentIntegrationUtils.updateCustomer(c.Id, c.LastName);
        }
    }

    global void finish(Database.BatchableContext BC){}
}
4

1 に答える 1

0

TalentIntegrationUtils クラスが必要とする連絡先やその他のオブジェクトを作成するには、テストにデータを入力する必要がありますが、次のコードはそれをテストするために機能するはずです。

string query = 'Select Id, LastName From Contact';
TalentIntCustomerBatch ticb = new TalentIntCustomerBatch(query);
Database.executeBatch(ticb);

クラスの名前から、テスト中に外部システムを呼び出している可能性があります。この場合、すべてのコールアウトに「if (Test.isRunningTest() == false)」ブロックを追加するか、モック応答を実装する必要があります。

Web サービス コールアウトのテスト

HttpCalloutMock インターフェイスを実装して HTTP コールアウトをテストする

于 2014-11-17T17:51:12.743 に答える