intra-mart Accel Platform SAStruts+S2JDBC プログラミングガイド 第17版 2020-08-01

サーバサイド単体テスト

サーバサイド単体テストとは

サーバサイド単体テストはJUnitで作成したテストクラスファイルの単体テストを稼働中のサーバで実施します。
実際に動作しているアプリケーションサーバ内で実行されますので、実際の動作環境で単体テストを実施できます。
JUnit3.x および JUnit4.x 系のテストが実行できます。

以下の図は、サーバで単体テストを実行した結果画面サンプルです。
テスト結果状況およびエラー状況が色覚的に分かりやすい表現になっています。
../../../_images/junit.png

注意

この機能は、単体テストを稼働中のサーバ単体で実施するものであり、eBuilderと連携するものではありません。

アプリケーションサーバの構築

サーバサイド単体テストを実行できる環境を構築します。

IM-Juggling においてIM-UnitTestを含めたWARファイルでアプリケーションサーバを構築してください。
IM-UnitTestはモジュール構成内の「開発フレームワーク」カテゴリに存在します。

テストケースクラスについて

JUnitの仕様に基づいてテストケースクラスを作成します。
作成するテストケースクラスはJUnit3.x と JUnit4.x のどちらでも構いません。

注意

テストケースクラスを作成するにあたって、以下の点に注意してください。
  • 画面遷移が発生する API を使用してはいけません。
    画面遷移に関しての試験はできません。
    別の関数に分けるなどして、テストを行ってください。

テストケースクラスの配置と実行

テストケースクラスの配置

作成したテスト対象ファイル、テストケースファイルを以下の場所に配置してください。
なお、テスト対象ファイルが既に配置されている場合は、配置の必要はありません。
アプリケーションサーバ内のWARファイル展開フォルダ/WEB-INF/classes

テストケースクラスの実行

  1. クラスファイルを配置したら必ずサーバを再起動してください。

  2. 任意にユーザでログインします。

  3. 「グローバルナビ」-「サイトマップ」-「テストツール」-「Unit Test Launchar」をクリックします。

    ../../../_images/launcher_java.png

    コラム

    履歴には、過去に実行されたテストのパスがパス名の昇順で表示されます。
    テストのパスのリンクをクリックすることで、再実行が可能です。
    また、履歴の「削除」アイコンをクリックすることで、履歴を削除できます。
    履歴をすべて削除する場合は、「全削除」ボタンをクリックします。
  4. テストケースパスに、実行したいテストケースクラスをフルパッケージ名で入力します。

  5. 実行ボタンをクリックします。

  6. テストが実行され、結果が表示されます。

    ../../../_images/junit.png

    項目 説明
    テストメソッド
    実行したテストメソッド名です。
    テストメソッドで事前検証に失敗、評価に失敗、またはエラーが発生した場合は、テストメソッドがリンクとなります。
    リンクをクリックすることで、詳細な評価内容を確認できます。
    無効
    無効となっているテストメソッドの数です。
    テストメソッドに対する値は、テストメソッドが無効となっている場合に1となります。
    JUnit4.xの仕様に基づいて作成されたテストケースの場合のみ表示されます。
    仮定
    前提条件の評価に失敗した数です。
    テストメソッドに対する値は、テストメソッドで、事前検証が失敗した場合に1となります。
    JUnit4.xの仕様に基づいて作成されたテストケースの場合のみ表示されます。
    エラー テスト中にエラーが発生した数です。
    失敗
    テスト中に評価関数において、評価に失敗した数です。
    テストメソッドに対する値は、テストメソッドで評価関数が1つでも失敗した場合に1となります。
    成功
    テスト中に評価関数において、評価に成功した数です。
    テストメソッドに対する値は、テストメソッド内ですべての評価関数が成功した場合に1となります。
    合計
    テストメソッドの合計です。
    テストメソッドに対する値は、必ず1になります。
    実行時間 テストの実行時間です。単位はミリ秒です。
    グラフ テスト結果を色覚的に棒グラフで表現しています。