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 回答