この記事の目次
Salesforce Apexのテストフレームワーク、Systemクラスのassertメソッド
System assertが使用されるSalesforce Apexの単体テスト
![](https://cdn.pixabay.com/photo/2015/03/12/12/43/test-670091__340.png)
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のテストのサンプル
![](https://cdn.pixabay.com/photo/2015/05/11/13/28/software-762486_960_720.jpg)
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を活用して単体テストを行う
この記事の監修者・著者
![株式会社オープンアップITエンジニア](https://tenshoku-careerchange.jp/wp-content/uploads/2023/07/fzxADbr-_400x400-1-150x150.jpg)
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】