我正在为这个特定的类创建一个测试类。如果有人能提供一些可以实现这一点的代码,我将不胜感激。
非常感谢
类:
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 标注