Memos About Salesforce

Salesforceにハマってたこと!

テストガバナー制限 秘密方法で制限をリセット

SFDCでは、テストクラスの実行によって

ガバナー制限に引っかかる時あるでしょう

今回、【System.LimitException: Too many SOQL queries: 101】について

その解消秘密を公開します。

欲しけりゃくれてやる・・・。

探せ!

この世の全てをそこに置いてきた〜笑


目次


テストクラスのサンプルコード

@IsTest
private class MyTestClass {
    private static testMethod void myTest() {
        // データの準備
        List exsists = [Select Id From CustomObject__c Where Name='hoge']; 
        if (!exsists.isEmpty()) {
            delete exsists; 
        }
        kasutamuSobject__c c = new kasutamuSobject__c(Name='hoge');
        insert c; // テスト用データの作成
        Test.startTest();
            Account a = new Account(Name='hoge');
            insert a; // テストとは直接関係ないが、ガバナ制限をリセットさせるためのDML呼び出し
            ///////////////////////////
            /////テストしたいこと//////
            ///////////////////////////
        Test.stopTest();
        System.assertEquals('sample', result);
    }
}

解説

注意点:
Test.startTest()が呼ばれてから最初のDMLまたはWeb Serviceメソッド呼び出してガバナ制限がリセットされる