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

Newer Version Available

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

非公開テストクラスメンバーへのアクセス

テストメソッドは、このメソッドがテストするクラスとは別に、テストクラスで定義されます。このことにより、テストメソッドから非公開クラスメンバー変数へのアクセスが必要な場合、または非公開メソッドをコールする場合に問題が生じる可能性があります。これらは非公開であるため、テストクラスからは参照できません。自分のクラスのコードを変更して、非公開クラスメンバーを利用できるようにする公開メソッドを公開するか、または、単に、これらの非公開クラスメンバーに TestVisible を使用してアノテーションを付加することができます。非公開または保護メンバーにこのアノテーションを付加すると、テストメソッドから、および、テストコンテキストで実行されているコードのみからこれらのメンバーにアクセスできます。

次の例に、非公開メンバー変数、コンストラクタがある非公開内部クラス、非公開メソッド、および非公開カスタム例外での TestVisible の使用法を示します。TestVisible アノテーションが付加されているため、これらはすべてテストクラスでアクセスできます。クラスに続いて、テストメソッドを含むテストクラスを示します。

この TestVisible アノテーションは、テストコードと非テストコードが混在する既存のクラスの Salesforce API バージョンをアップグレードする場合にも便利です。API バージョン 28.0 以降ではテストメソッドが非テストクラスで使用できなくなるため、クラスの API バージョンをアップグレードする場合に、古いクラスから新しいクラス (isTest アノテーションが付加されたクラス) にテストメソッドを移動する必要があります。元のクラスの非公開メソッドまたはメンバー変数にアクセスするときに、表示に関する問題が生じる場合があります。この場合は、これらの非公開メンバーに TestVisible アノテーションを付加します。