为批处理顶点创建测试类



我正在为这个特定的类创建一个测试类。如果有人能提供一些可以实现这一点的代码,我将不胜感激。

非常感谢

类:

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){}
}

您需要填充测试中的数据以创建 TalentIntegrationUtils 类所需的联系人和任何其他对象,但以下代码应该可以对其进行测试:

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

从您的类名称来看,您可能会在测试期间对外部系统进行标注。如果是这种情况,您需要在所有标注周围添加一个"if (Test.isRunningTest() == false)"块,或者实现一个模拟响应:

测试 Web 服务标注

通过实现 HttpCalloutMock 接口测试 HTTP 标注

相关内容

  • 没有找到相关文章

最新更新