Salesforce 为批处理创建测试类
我正在让truble为这个特殊的类创建一个测试类。如果有人能提供一些代码来实现这一点,我将非常感激 非常感谢 类别:Salesforce 为批处理创建测试类,salesforce,apex-code,visualforce,apex,test-class,Salesforce,Apex Code,Visualforce,Apex,Test Class,我正在让truble为这个特殊的类创建一个测试类。如果有人能提供一些代码来实现这一点,我将非常感激 非常感谢 类别: global class TalentIntCustomerBatch implements Database.Batchable<sObject>, Database.AllowsCallouts{ global final String query; global TalentIntCustomerBatch(String q){
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块,或者实现模拟响应: