Apexテスト

Apex 単体テストの開始

  • Apex 単体テストにより、Apex コードの品質が高まり、Apex のリリース要件を満たすことができます。
  • Apex コードは、Sandbox 環境または開発者組織でのみ記述でき、本番組織では記述できません。
  • Apex クラスおよびトリガが期待どおりに機能することを確認できる
  • Apex コードの少なくとも 75% がテストでカバーされ

 

テストスイートの作成および実行

  • テストスイートとは、まとめて実行する Apex テストクラスのコレクションです。
  • 開発者コンソールで、[Test (テスト)] | [New Suite (新規スイート)] を選択します

 

もうひとこと

  • 組織ごとに最大 6 MB の Apex コードを保存できます。@isTest アノテーションが付加されたテストクラスは、この制限にカウントされません。
  • テストメソッドではメールは送信されません。
  • テストメソッドでは、外部サービスへのコールアウトを実行できません。
  • Test.startTest()および Test.stopTest() メソッドのペアが含まれます。このペアによって、ガバナ制限の最新セットを取得するコードのブロックが区切られます
  • このテストブロックは、非同期 Apex をテストする場合にも使用します

 

Account acct = new Account(Name='Test Account');
insert acct;
Contact c = new Contact(FirstName='Test Account',LastName='INVALIDNAME',AccountId =acct.Id );
Test.startTest();
Database.SaveResult result = Database.insert(c, false);
Test.stopTest();
System.assert(!result.isSuccess());
System.assert(result.getErrors().size() > 0);
System.assertEquals('The Last Name "INVALIDNAME" is not allowed for DML', result.getErrors()[0].getMessage());

 

 

テストユーティリティクラス

 

posted @ 2019-09-18 14:43  dlywang0411  阅读(399)  评论(0编辑  收藏  举报