テストの例
次の例では、下記の種類のテストのケースについて示します。
単純なマイル追跡アプリケーションでテストを実行します。アプリケーションの既存のコードは、1 日に入力されるマイル数が 500 マイルを超えないことを確認します。主オブジェクトは Mileage__c というカスタムオブジェクトです。このテストは、300 マイルが含まれる 1 つのレコードを作成し、300 マイルのみが記録されていることを検証します。次に、ループでそれぞれに 1 マイルが含まれる 200 レコードを作成します。最後に、合計 500 マイル (元の 300 マイルと新しいマイル) が記録されていることを確認します。全体のテストクラスを次に示します。次のセクションでは、コードの特定の部分の手順を説明します。
ポジティブテストケース
上記のコードの、単一レコードおよび複数レコードのポジティブテストケースの手順は、次のとおりです。
- デバッグログにテキストを追加して、コードの次のステップを示します。
- Mileage__c オブジェクトを作成し、データベースに挿入します。
- 挿入されたレコードを返してコードを検証します。
-
system.assertEquals メソッドを使用して、期待どおりの結果が返されたことを確認します。
- 次のテストに移る前に、合計マイル数を 0 に再設定します。
- 200 レコードの一括挿入を作成して、コードを検証します。まず、デバッグログにテキストを追加し、コードの次のステップを示します。
- 次に 200 件の Mileage__c レコードを挿入します。
-
System.assertEquals を使用して、期待どおりの結果が返されたことを確認します。
ネガティブテストケース
上記のコードのネガティブテストケースの手順は、次のとおりです。
-
runNegativeTestCases という静的テストメソッドを作成します。
- デバッグログにテキストを追加して、コードの次のステップを示します。
- 501 マイルの Mileage__c レコードを作成します。
-
insert ステートメントを try/catch ブロック内に配置します。これで、検証の例外を捕捉し、生成されたエラーメッセージを表示できます。
-
System.assert および System.assertEquals を使用してテストを実行します。次のコードを、前に作成した catch ブロックに追加します。