ChatGPTを使ったApexテストクラス自動作成
以下のApexテストクラス作成して。
public class AccountProcessor implements Database.Batchable<sObject>,Database.Stateful{
public AccountProcessor(){
}
}
以下は、提示された AccountProcessor クラスに対する Apexテストクラス のサンプルです。
@isTest
public class AccountProcessorTest {
@isTest
static void testBatchExecution() {
// テストデータ作成
List<Account> accounts = new List<Account>();
for (Integer i = 0; i < 5; i++) {
accounts.add(new Account(
Name = 'TestAccount ' + i
));
}
insert accounts;
// バッチ実行
Test.startTest();
AccountProcessor batch = new AccountProcessor();
Database.executeBatch(batch, 2); // バッチサイズ指定
Test.stopTest();
// 簡易検証(レコードが存在することを確認)
Integer countAccounts = [SELECT COUNT() FROM Account WHERE Name LIKE 'TestAccount%'];
System.assertEquals(5, countAccounts);
}
}
補足
Database.Statefulはテストクラス側では特別な対応不要です- 実際に
executeやfinishで処理を追加した場合は、その結果を検証するassertを追加してください
もし「バッチの中身(start/execute/finish)も書いてほしい」なら、それも一緒に作れます 👍