Salesforce ApexのTestとは?基本の基本を解説します!
IT・技術関連
更新日:2024.09.05


そもそもApexとは?
Apexとは、Salesforceが提供するJavaに似た、オブジェクト指向のプログラミング言語です。Apexには特徴として、Salesforceで利用するために使いやすいように考えられている、というところがあります。
例えば、sObjectレコードのリストを返す、インラインのSalesforceObjectQueryLanguageとSalesforce ObjectSearchLanguageのクエリが標準でサポートされています。
また、変数や式の構文、ブロックや条件ステートメントの構文など、広く周知されたJavaのイディオムに基づいており、SalesforceApexが新しい要素を導入するとなれば、理解しやすい構文とセマンティックを使用してLightningプラットフォームの効率的な使用を促すため、簡潔で記述しやすいコードを作成することなども、使いやすいポイントの1つです。
開発時にテストを行う意味

テストの種類
構築したプログラムが正常に作動するか確かめる役割を持つテストですが、これにはいくつかの種類があります。 今回はその中でも、「単体テスト」「結合テスト」「システムテスト」の3つを簡単にご紹介します。単体テスト
単体テストとは、構築したプログラムの1つずつをテストし、正常に動作するかの検証を行うものです。 正常に動作するかのみではなく、機能や性能、また運用に最適化されているかなども確認します。結合テスト
結合テストとは、単体テストで確認した複数のプログラムを組み合わせて、正常に動作するかを検証します。 この中には「状態遷移テスト」と呼ばれるものも含まれており、これは、状態遷移図や状態遷移表などを用いて行われるテストです。 同じテストデータを流した場合、通常であればシステムは同じ動作をしますが、状態によって全く違う動作をするものも存在します。こういったシステムをテストすることを「状態遷移テスト」と呼びます。システムテスト
システムテストとは、「単体テスト」と「結合テスト」などの後に、すべてのプログラムとハードウェアも合わせて、システム全体が正常に動作するか確認することをいいます。 システムテストは様々な種類が存在し、修正や変更などをした後に変更箇所が正常に動作するか確認する「確認テスト」や、脆弱性の確認、ユーザビリティの確認などを行う「評価テスト」、処理能力などを確認する「負荷テスト」などがあります。 このテストは、基本設計の段階で決定した仕様を満たしたものができているかどうか確認するために行われます。このテストが完了すると、ユーザーにリリースされ、「運用テスト」のフェーズに移行していきます。Apex単体テストの利点

コードカバー率要件とは
コードをリリースする前か、LightningPlatformAppExchange用にパッケージ化する前に、Apexコード全体の75%以上がテストで合格していなければなりません。 さらに、各トリガについても何らかのテストを行う必要があり、これらがリリースのための要件となっています。 注意しなければいけないのは、この要件を満たすことを目的として、テストを記述してはいけないということです。 正常、異常のテストケースや一括レコード処理など、一般的な使用事例をテストすることが求められています。Test Methodの構文

@isTest static void testName() {
// code_block
}
static testMethod void testName() {
// code_block
}
[testMethod]キーワードの代わりに、[isTest]アノテーションを使用することで、アノテーションでパラメータを指定することが可能となり、柔軟性が向上します。
TestFrameworkでは常にTestMethodにアクセスできるようになっているため、TestMethodの表示は考慮されず、TestMethodを、公開か非公開どちらで宣言しても違いがないため、構文ではアクセス修飾子が省略されています。
コードカバー率を高める

ロールバックとテストデータについて
TestMethodで作成されたSalesforceレコードは、データベースにコミットされず、テストの実行が終了すると、レコードはロールバックされます。 このロールバックにより、テスト実行後にテストデータをクリーンアップする必要がないため、効率化につながります。 Apexテストには、User、Profileオブジェクトなどの設定やメタデータオブジェクトへのアクセス権を除き、組織に既存のデータへのアクセス権がありません。 そのため、テスト用にテストデータを設定します。 テストデータを作成することで、テストがより確実なものとなり、組織のデータの変更などによって起こるエラーを防止できるようになります。 テストデータは、TestMethodで直接作成するか、ユーティリティテストクラスを使用することで作成できます。しっかりとしたテストで、よりよいシステムやアプリケーションの構築を!

この記事の監修者・著者

- 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エンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。