IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > SalesforceのSystemクラスassertを活用してテストを行う方法を紹介

SalesforceのSystemクラスassertを活用してテストを行う方法を紹介

IT・技術関連 更新日:2024.09.05
エンジニア採用
SalesforceのSystemクラスassertを活用してテストを行う方法を紹介

Salesforce Apexのテストフレームワーク、Systemクラスのassertメソッド System assertは、SalesforceにおけるApexの単体テスト用のテストフレームワークで使用されるクラスメソッドのひとつです。 SalesforceのApexにおけるデバッグは、SandboxでApexコードをリリースして実行するのが一般的な方法です。その後のテストのために、SalesforceではApexの単体テスト用のテストフレームワークが用意されています。 このフレームワークにより、次のような作業を行うためのクラスが用意されており、テストコードを開発時に並行して作成するテスト駆動型の開発プロセスを実現できます。 ・単体テストを記述する。 ・テストを実行する。 ・テスト結果を確認する。 ・コードカバー率の結果を取得する。

System assertが使用されるSalesforce Apexの単体テスト

Apexのテストで、Systemクラスのassertを使用します。Salesforceでは、Apexの単体テストにおいて、次のようなテストケースを作成することを推奨しています。 ①単一操作 単一のレコードにおいて想定した動作を行っており、予測どおりの結果が生成されていることを確認します。 ②一括操作 1件~200件のレコードを呼び出す一括処理の動作と結果を確認します。 ③ポジティブ動作 すべて正しい処理が行われるポジティブケースで、想定した動作すべてが想定される順列で行われることを確認します。 ④ネガティブ動作 正しい処理が行われないネガティブケースで、エラーメッセージが適切に生成、表示されることを確認します。 ⑤制限ユーザ アクセス権限が制限されているユーザが想定された動作を実行できるか、コードの実行およびエラーメッセージの受信の可否を確認します。

System assertはアサーションを検証するメソッド

Systemクラスのassert、assertEquals、assertNotEqualsは、プログラムが実行する動作の検証に使用できます。 System名前空間にはさまざまなクラスがあり、コアApex機能に使用されるクラスとメソッドが提供されています。 そのうちのひとつであるSystemクラスには、デバッグメッセージの記述、ジョブのスケジュールといったシステム操作のメソッドが含まれており、Systemのメソッドはすべて静的なメソッドです。

Systemクラスのassert

Systemクラスのassertメソッドは、指定された条件に対してtrueであることを確認します。結果がtrueとならない場合は、エラーを返してコードの実行を停止します。 <署名> public static Void assert(Boolean condition, Object msg) <パラメータ> condition 型:Boolean Msg:エラーメッセージのカスタムメッセージであり、省略可能。 型:Object 戻り値 型:Void

SystemクラスのassertEquals

SystemクラスのassertEqualsは、最初の2つの引数が一致することを確認します。結果が一致しない場合は、エラーを返してコードの実行を停止します。 <署名> public static Void assertEquals(Object expected, Object actual, Object msg) <パラメータ> expected:期待値 型:Object actual:実際の値 型:Object msg:エラーメッセージのカスタムメッセージであり、省略可能。 型:Object 戻り値 型:Void

SystemクラスのassertNotEquals

SystemクラスのassertNotEqualsは、最初の2つの引数が一致しないことを確認します。結果が一致する場合はエラーを返し、コードの実行を停止します。 <署名> public static Void assertNotEquals(Object expected, Object actual, Object msg) <パラメータ> expected:期待値 型:Object actual:実際の値 型:Object msg:エラーメッセージのカスタムメッセージであり、省略可能。 型:Object 戻り値 型:Void

System assertの使用例:Salesforce Apexのテストのサンプル

Salesforce Apexにおける、SystemクラスのassertEquals、assertNotEqualsを使用したサンプルを紹介します。このサンプルでは、4つのテストメソッドを持ち、対応するテストクラスが含まれています。

System assertのメソッドを使用した単体テストのサンプル

下記がSystem assertのメソッドを使用した単体テストのサンプルです。
@isTest
class SampleTest {
    @isTest static void testVolumeIncrease() {
        Sample rc = new Sample(10);
        Integer newVolume = rc.increaseVolume(15);
        System.assertEquals(25, newVolume);
    }

    @isTest static void testVolumeDecrease() {
        Sample rc = new Sample(20);
        Integer newVolume = rc.decreaseVolume(15);
        System.assertEquals(5, newVolume);
    }

    @isTest static void testVolumeIncreaseOverMax() {
        Sample rc = new Sample(10);
        Integer newVolume = rc.increaseVolume(100);
        System.assertEquals(50, newVolume);
    }

    @isTest static void testVolumeDecreaseUnderMin() {
        Sample rc = new Sample(10);
        Integer newVolume = rc.decreaseVolume(100);
        System.assertEquals(0, newVolume);
    }

    @isTest static void testGetMenuOptions() {
        // Static method call. No need to create a class instance.
        String menu = Sample.getMenuOptions();
        System.assertNotEquals(null, menu);
        System.assertNotEquals('', menu);
    }
}

SalesforceのSystem assertを活用して単体テストを行う

SalesforceのApexの単体テスト用のテストフレームワークに使用される、System assertについて説明しました。 テストフレームワークの活用にあたり、System assertに代表されるクラスメソッドの知識が必要です。テストクラス、メソッドへの理解の第一歩として理解しておきましょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ