No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
Apex コードのテスト
管理パッケージをアップロードする前に、Apex コードのテストを作成および実行して、最小コードカバー率要件を満たす必要があります。また、パッケージを AppExchange にアップロードするときには、すべてのテストがエラーなしで実行される必要があります。
Apex コードを使用するアプリケーションとコンポーネントをパッケージ化するには、次の条件を満たす必要があります。
- Apex コードの少なくとも 75% が単体テストでカバーされており、かつすべてのテストが成功している。次の点に注意してください。
- 本番組織にリリースするときに、組織の名前空間内のすべての単体テストが実行されます。
- System.debug へのコールは、Apex コードカバー率の対象とはみなされません。
- テストメソッドとテストクラスは、Apex コードカバー率の対象とはみなされません。
- Apex コードの 75% が単体テストでカバーされている必要がありますが、カバー率を上げることだけに集中すべきではありません。アプリケーションのすべての使用事例 (正・誤両方の場合や単一データだけでなく複数データの場合) の単体テストを作成するようにしてください。このような多様な使用事例のテストコードを実装することが 75% 以上のカバー率につながります。
- すべてのトリガについて何らかのテストを行う。
- すべてのクラスとトリガが正常にコンパイルされる。
次のサンプルは、スタンドアロン Lightning アプリケーションを作成する で入手可能な経費追跡アプリケーションでコントローラクラスと共に使用される Apex テストクラスを示しています。
1swfobject.registerObject("clippy.codeblock-0", "9");@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 insert exp;
9
10 ExpenseController c = new ExpenseController();
11 //Assert the name field and saved expense
12 System.assertEquals('My New Expense',
13 ExpenseController.getExpenses()[0].Name,
14 'Name does not match');
15 System.assertEquals(exp, ExpenseController.saveExpense(exp));
16 }
17}