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

Apex コードのテスト

管理パッケージをアップロードする前に、Apex コードのテストを作成および実行して、最小コードカバー率要件を満たす必要があります。また、パッケージを AppExchange にアップロードするときには、すべてのテストがエラーなしで実行される必要があります。

Apex コードを使用するアプリケーションとコンポーネントをパッケージ化するには、次の条件を満たす必要があります。

  • Apex コードの少なくとも 75% が単体テストでカバーされており、かつすべてのテストが成功している。
    次の点に注意してください。
    • 本番組織に Apex をリリースするときに、組織の名前空間内の各単体テストがデフォルトで実行されます。
    • System.debug へのコールは、Apex コードカバー率の対象とはみなされません。
    • テストメソッドとテストクラスは、Apex コードカバー率の対象とはみなされません。
    • Apex コードの 75% が単体テストでカバーされている必要がありますが、カバー率を上げることだけに集中すべきではありません。アプリケーションのすべての使用事例 (正・誤両方の場合や単一データだけでなく複数データの場合) の単体テストを作成するようにしてください。このような多様な使用事例のテストコードを実装することが 75% 以上のカバー率につながります。
  • すべてのトリガについて何らかのテストを行う。
  • すべてのクラスとトリガが正常にコンパイルされる。
次のサンプルは、「スタンドアロン Lightning アプリケーションを作成する」で入手可能な経費追跡アプリケーションでコントローラクラスと共に使用される Apex テストクラスを示しています。
1@isTest
2class TestExpenseController {
3    static testMethod void test() {
4        //Create new expense and insert it into the database        
5        Expense__c exp = new Expense__c(name='My New Expense',
6                             amount__c=20, client__c='ABC',
7                             reimbursed__c=false, date__c=null);
8         ExpenseController.saveExpense(exp);
9
10        //Assert the name field and saved expense
11        System.assertEquals('My New Expense',
12                           ExpenseController.getExpenses()[0].Name,
13                          'Name does not match');
14        System.assertEquals(exp, ExpenseController.saveExpense(exp));
15    }
16}

Apex クラスは手動でパッケージに追加する必要があります。

メモ

Apex コードの配布について��詳細は、Apex コード開発者ガイド』を参照してください。