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


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

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 戻り値 型:VoidSystemクラスのassertEquals
SystemクラスのassertEqualsは、最初の2つの引数が一致することを確認します。結果が一致しない場合は、エラーを返してコードの実行を停止します。 <署名> public static Void assertEquals(Object expected, Object actual, Object msg) <パラメータ> expected:期待値 型:Object actual:実際の値 型:Object msg:エラーメッセージのカスタムメッセージであり、省略可能。 型:Object 戻り値 型:VoidSystemクラスのassertNotEquals
SystemクラスのassertNotEqualsは、最初の2つの引数が一致しないことを確認します。結果が一致する場合はエラーを返し、コードの実行を停止します。 <署名> public static Void assertNotEquals(Object expected, Object actual, Object msg) <パラメータ> expected:期待値 型:Object actual:実際の値 型:Object msg:エラーメッセージのカスタムメッセージであり、省略可能。 型:Object 戻り値 型:VoidSystem assertの使用例:Salesforce Apexのテストのサンプル

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を活用して単体テストを行う
この記事の監修者・著者

- 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月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ
ITエンジニアの派遣を利用したい企業様へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。