[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();
    }
}
   このエントリーをはてなブックマークに追加