この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

TestVisible アノテーション

TestVisible アノテーションを使用すると、テストクラス外にある別のクラスの非公開メンバーまたは保護メンバーにテストメソッドからアクセスできるようになります。これらのメンバーには、メソッド、メンバー変数、内部クラスが含まれます。このアノテーションは、テストを実行する目的でのみ、権限の高いアクセスレベルを有効にします。このアノテーションによって、非テストクラスからアクセスするメンバーの表示が変わることはありません。

このアノテーションでは、メソッドのアクセス修飾子やメンバー変数にテストメソッドでアクセスする場合に、それらを public に変更する必要はありません。たとえば、外部クラスに対して非公開メンバー変数を表示せずに、テストメソッドからアクセスできるようにする場合は、TestVisible アノテーションを変数定義に追加します。

この例では、非公開クラスメンバー変数と非公開メソッドに TestVisible アノテーションを付加する方法を示します。

1public class TestVisibleExample {
2    // Private member variable
3    @TestVisible private static Integer recordNumber = 1;
4
5    // Private method
6    @TestVisible private static void updateRecord(String name) {
7        // Do something
8    }
9}

上記のクラスを使用するテストクラスを次に示します。アノテーションが付加されたメンバー変数とメソッドにアクセスするテストメソッドが含まれています。

1@isTest
2private class TestVisibleExampleTest {
3    @isTest static void test1() {
4        // Access private variable annotated with TestVisible
5        Integer i = TestVisibleExample.recordNumber;
6        System.assertEquals(1, i);
7
8        // Access private method annotated with TestVisible
9        TestVisibleExample.updateRecord('RecordName');
10        // Perform some verification
11    }
12}