[SalesForce]テスト時にgetパラメータをセット
テスト実行時にページのGETパラメータをセットする方法がわからなかったので調べた。
まずは、テストしたいページにパラメータをセット。
その後、テストしたいクラスを実行、とする。
パラメータをセットするときには、Test
を使う。
[apex]
public with sharing class SampleController {
public SampleController() {
}
public Pagereference view(){
String pid = ApexPages.CurrentPage().getParameters().get('pid');
if(pid == '10'){
//処理
}else{
//処理
}
return null;
}
}
[visualforce] samplePage
という名前とする
<apex:page controller="SampleController" action="{!view}">
なにがしかの画面処理
</apex:page>
[テストクラス]
@isTest
private class SampleControllerTest{
static testMethod void view() {
PageReference pageRef = Page.samplePage;
//パラメータをセット
pageRef.getParameters().put('pId', '10');
Test.setCurrentPage(pageRef);
SampleController c = new SampleController();
c.view();
//セットしなおし
pageRef.getParameters().put('pId', '0');
Test.setCurrentPage(pageRef);
c.view();
}
}