リリースでのテストの実行
本番組織のデフォルトのテスト実行
リリースオプションにテストレベルが指定されていない場合、デフォルトのテスト実行動作はリリースパッケージの内容によって異なります。本番組織へのリリース時に、リリースパッケージに Apex クラスまたはトリガが含まれる場合は、管理パッケージから作成されたテストを除くすべてのテストが実行されます。パッケージに Apex コンポーネントが含まれない場合は、デフォルトでテストは実行されません。
API バージョン 33.0 以前では、Apex コンポーネントのみならず、テストを必要とするコンポーネント (カスタムオブジェクトなど) にテストが実行されていました。たとえば、パッケージにカスタムオブジェクトが含まれる場合、API バージョン 33.0 以前ではすべてのテストが実行されます。他方、API バージョン 34.0 以降ではこのパッケージにテストは実行されません。API バージョンは、API クライアントのバージョンまたは使用しているツール (Force.com 移行ツール) のバージョンに対応します。
Apex 以外のコンポーネントのリリースにテストを実行できます。リリースオプションにテストレベルを設定すれば、デフォルトのテスト実行動作を上書きできます。テストレベルは、リリースパッケージに存在するコンポーネントの種類に関係なく強制適用されます。本番組織にリリースする前に、Sandbox などの開発環境ですべてのローカルテストを実行することをお勧めします。開発環境でテストを実行すれば、本番リリースで実行する必要のあるテストの量を削減できます。
API バージョン 33.0 以前での本番組織のデフォルトのテスト実行
本番組織へのリリースの場合、デフォルトでは組織のすべてのローカルテストが実行されます。インストールした管理パッケージからのテストは、デフォルトでは実行されません。テストのいずれかが失敗した場合は、リリース全体がロールバックされます。
リリースに次のメタデータ型のコンポーネントが含まれている場合は、すべてのローカルテストが実行されます。変更セットの場合、このテスト実行動作はすべての API バージョンに適用されます。
- ApexClass
- ApexComponent
- ApexPage
- ApexTrigger
- ArticleType
- BaseSharingRule
- CriteriaBasedSharingRule
- CustomDataType
- CustomField
- CustomObject
- DataCategoryGroup
- Flow
- InstalledPackage
- NamedFilter
- OwnerSharingRule
- PermissionSet
- Profile
- Queue
- RecordType
- RemoteSiteSetting
- Role
- SharingReason
- Territory
- Validation Rules
- Workflow
たとえば、次のリリースではテストは実行されません。
- 1 個の CustomApplication コンポーネント
- 100 個の Report コンポーネントおよび 40 個の Dashboard コンポーネント
次のリリースではすべてのテストが実行されます。
- 1 個の CustomField コンポーネント
- 1 個の ApexComponent コンポーネントおよび 1 個の ApexClass コンポーネント
- 5 個の CustomField コンポーネントおよび 1 個の ApexPage コンポーネント
- 100 個の Report コンポーネント、40 個の Dashboard コンポーネント、および 1 個の CustomField コンポーネント