StandardSetControllerテストクラス
Apexクラス
/*
testページコントローラ
*/
public with sharing class testController {
//testページへ渡す対象Idリスト
public String testIdList { get;set; }
//コンストラクタ
public testController( ApexPages.StandardSetController controller ){
//初期化
List<test__c> testList = new List<test__c>();
Set<Id> testIdSet = new Set<Id>();
this.testIdList = '';
//testページで選択済みIdリスト取得
for(test__c testObj : (List<test__c>) controller.getSelected()){
testIdSet.add(testObj.Id);
}
//testページで選択済みリスト取得
testList = gettestList(testIdSet);
System.debug('testList.size() : ' + testList.size());
//testページへ渡す対象Idリスト取得
Integer cnt = 1;
if(testList.size() > 0){
for(test__c testObj : testList){
if(cnt == 1){
this.testIdList += String.valueOf(testObj.id);
}
else{
this.testIdList += ',';
this.testIdList += String.valueOf(testObj.id);
}
cnt += 1;
}
}
System.debug('this.testIdList : ' + this.testIdList);
}
//testページで選択済みリストからtestページへ渡す対象取得
private List<test__c> gettestList(Set<Id> testIdSet){
return [SELECT Id
, test__c // test
FROM
test__c
WHERE
Id IN : testIdSet
AND
test__c = 'test'
ORDER BY Id
];
}
}
Apexテストクラス
/*
testページコントローラテストクラス
*/
@isTest
private class testControllerTest {
//正常ケース
//対象レコード数:1件
@isTest static void UnitTest1() {
//testレコード作成
List<test__c> testList = new List<test__c>();
test__c test = inserttest();
testList.add(test);
// VisualForceのページリファレンスを取得
PageReference prRef = Page.test;
// カレントページにVisalForceページをセット
Test.setCurrentPage(prRef);
// テスト開始
Test.startTest();
// StandardSetControllerのコンストラクタ
ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(testList);
ssc.setSelected(testList);
testController bbController = new testController(ssc);
// テスト終了
Test.stopTest();
}
//正常ケース
//対象レコード数:2件
@isTest static void UnitTest2() {
//testレコード作成
List<test__c> testList = new List<test__c>();
test__c test1 = inserttest();
test__c test2 = inserttest();
testList.add(test1);
testList.add(test2);
// VisualForceのページリファレンスを取得
PageReference prRef = Page.test;
// カレントページにVisalForceページをセット
Test.setCurrentPage(prRef);
// テスト開始
Test.startTest();
// StandardSetControllerのコンストラクタ
ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(testList);
ssc.setSelected(testList);
testController bbController = new testController(ssc);
// テスト終了
Test.stopTest();
}
//異常ケース
//対象レコード数:0件
@isTest static void UnitTest3() {
//testレコード作成
List<test__c> testList = new List<test__c>();
test__c test = inserttest2();
testList.add(test);
// VisualForceのページリファレンスを取得
PageReference prRef = Page.test;
// カレントページにVisalForceページをセット
Test.setCurrentPage(prRef);
// テスト開始
Test.startTest();
// StandardSetControllerのコンストラクタ
ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(testList);
ssc.setSelected(testList);
testController bbController = new testController(ssc);
// テスト終了
Test.stopTest();
}
//testレコード作成
//test:test
private static test__c inserttest(){
test__c test = new test__c();
test.Name = 'test';
test.test__c = 'test';
insert test;
return test;
}
//testレコード作成
//test:test以外
private static test__c inserttest2(){
test__c test = new test__c();
test.Name = 'test';
insert test;
return test;
}
}