結果ロギング・インターフェースの概要

ご使用のカスタム・コードが IKLog インターフェースを使用して、テスト結果をレポートしている場合、テスト実行ヒストリー内にある結果を検査できます。カスタムの検査ポイント判断をログに記録している場合、スケジュール判断全体に反映されます。

カスタム・コードの使用例をいくつか挙げます。

カスタム・コードでは、IKLog インターフェースを使用して、テスト結果をレポートします。このインターフェースは、com.ibm.rational.test.lt.logging パッケージの一部です。 IKLog メソッドには以下の 2 つのタイプがあります。

テストにカスタム・コードを追加する際、テスト・エディターには次のように表示されます。
クラス名の付いたテスト・エレメント詳細、および「コードの表示」ボタン、「コードの生成」ボタン

「コードの生成」をクリックすると、プロジェクトの src フォルダーにテンプレート・カスタム・コード・クラスが作成されます。テンプレート・クラスを作成する前に、別のパッケージ名を入力することができます (そうしないと生成されたテスト・コードと同じパッケージ、テストにカスタム・コードが置かれるため、この方法を推奨します)。また、コードの実行機能を表すクラス名も入力できます。 または、パッケージ名とクラス名を入力して既存のカスタム・コードを再使用し、「コードの表示」をクリックしてクラスを開くこともできます。例えば、パッケージ名、クラス名に test.custom.VerifyCustID を入力した場合、以下に示したコードが、src/test/custom/VerifyCustID.java に生成され、Java エディターで開きます。

package test.custom;

import com.ibm.rational.test.lt.kernel.logging.IKLog;

/**
 * @author unknown
 */
public class VerifyCustID implements
		com.ibm.rational.test.lt.kernel.custom.ICustomCode {

	/**
	 * no-arg コンストラクターを使用して、これのインスタンスを作成します。
	 */
	public VerifyCustID() {
	}

	/**
	 * @see com.ibm.rational.test.lt.kernel.custom.ICustomCode#exec(IKLog, java.lang.String[])
	 */
	public String exec(IKLog log, String[] args) {
		return null;
	}

}

デフォルトでは、「テスト・ナビゲーター」ビューはテスト・パースペクティブで開きます。通常、テストのナビゲートにはこれが最適なビューです。というのは src フォルダーのコンテンツなど、テスターにとって関係のない多くのファイルをフィルターで除外してくれるからです。カスタム・コードを作成する際、コードを直接ナビゲートできるため、標準ナビゲーターまたは Java ナビゲーション・ビューを開きたい場合があります。(選択して「ビュー」ボタンをクリックすれば、カスタム・コードを呼び出し、テストから開くことができます。)

カスタム・ロジックやロギング・ステートメントは、下部の exec ブロックに配置します。このブロックの中に log. と入力し、Ctrl キーを押してからスペース・キーを押すと、Java エディターは IKLog メソッドをリストし、それらの Javadoc を表示します。呼び出しテストからの入力値を操作するには、args 配列を操作します。この配列には、テストにコードを追加した際に指定したあらゆる引数が含まれています。『カスタム・コードの追加』のステップ 4 から 6 を参照してください。return ステートメントは、オプションで呼び出しテストに値を戻します。

単純なメッセージのロギング』で説明しているように、reportMessage では、実行ヒストリーに直接メッセージを書き込むことができます。 他のメソッドでは、イベント・オブジェクトを作成するクラスへのアクセスが必要です。これらのクラスへのアクセスを可能にするには、次の import ステートメントから 1 つ以上追加します。

import org.eclipse.hyades.test.common.event.ExecutionEvent
import org.eclipse.hyades.test.common.event.MessageEvent
import org.eclipse.hyades.test.common.event.VerdictEvent

テストが実行されたことのないプロジェクトに配置されたテストに対して、上記 import ステートメントを含むカスタム・コードを追加すると、インポート・エラーが発生する可能性があります。しかし、以前にプロジェクトで最低 1 回でもテストを実行したことがあれば、エラーは発生しません。これは、テストの実行によって、import ステートメントで命名されるクラスなど、実行に必要な既知のライブラリーがプロジェクト・ビルド・パスに追加されるからです。

VerdictEvent クラスは、カスタム・コードに最も関連性があります。reportVerificationPoint メソッドで実行ヒストリーに記録される判断が、テストの PASS/FAIL 判断に反映されるからです。スケジュールの判断は、すべてのテストが合格した場合、またはテストからレポートされた判断が一切ない場合にのみ、合格とみなされます。判断イベントの作成とログを記録する方法については、『判断イベントのロギング 』で説明しています。

スケジュール・エディターによって、実行ヒストリーのログ・レベルを設定できます。 次の表は、エディターの設定と対応する IKLog リテラルを示しています。
表 1.
スケジュール・エディターの設定 IKLog リテラル
すべて HISTORY_ALL
なし HISTORY_NONE
スケジュール HISTORY_SCHEDULE
ページ HISTORY_PAGES
要求 HISTORY_REQUESTS

スケジュール・エディターの設定に基づいて、実行ヒストリーから結果がフィルター処理されます。このように、カスタム・コードで記録した結果を実行ヒストリーに表示しないようにすることが可能です。ヒストリー・レベルの設定を取得するには getHistoryLevel を使用し、設定に基づいた結果を条件付きでレポートするには wouldReportHistory を使用します。(個々のテストを直接実行する場合の設定は、HISTORY_ALL です。)

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005