ts.tester.function.print
クラス HtmlPrinter

java.lang.Object
  上位を拡張 ts.tester.function.print.AbstractPrinter
      上位を拡張 ts.tester.function.print.HtmlPrinterBase
          上位を拡張 ts.tester.function.print.HtmlPrinter
すべての実装されたインタフェース:
CoveragePrinter, Printer

public class HtmlPrinter
extends HtmlPrinterBase
implements CoveragePrinter

カバレッジ計測結果も出力するように HtmlPrinterクラスを拡張した試験結果出力 クラスである。
試験機能実行クラスの実行結果をHTML形式のファイルに出力する。 出力先のファイル及びHTMLテンプレートは、コンストラクタの引数に指定した リソースファイルの中に記述する。
リソースファイルで指定可能なりソースキーの一覧を下表に示す:

キー 説明
printer.html.toFile 出力先のファイル名
printer.html.format.header 出力されるHTMLテンプレートのヘッダ部
printer.html.format.precases printer.html.format.caseの前に出力されるHTMLテンプレート。
printer.html.format.case 機能試験実行メソッドの数だけ繰り返されるHTMLテンプレート。
printer.html.format.postcases printer.html.format.caseの後に出力されるHTMLテンプレート。
printer.html.format.coverage.header 出力されるHTMLテンプレートのカバレッジ・ヘッダ部。
printer.html.format.coverage.class.premethods 出力されるHTMLテンプレートのクラス・カバレッジのメソッド前部。
printer.html.format.coverage.class.method 出力されるHTMLテンプレートのクラス・カバレッジのメソッド部。
printer.html.format.coverage.class.postmethods 出力されるHTMLテンプレートのクラス・カベレッジのメソッド後部。
printer.html.format.coverage.footer 出力されるHTMLテンプレートのカバレッジ・フッタ部。
printer.html.format.footer 出力されるHTMLテンプレートのフッタ部。

HTMLテンプレートの構成は、以下の図のようになる。

  printer.html.format.header  
  printer.html.format.precases  
:
  printer.html.format.cases  
:
  printer.html.format.postcases  
  printer.html.format.coverage.header  
:
  printer.html.format.coverage.class.premethods  
:
  printer.html.format.coverage.class.method  
:
  printer.html.format.coverage.class.postmethods  
:
  printer.html.format.coverage.footer  
  printer.html.format.footer  

HTMLテンプレート内で使用できる書式指定子には、以下のものがある:

書式指定子 説明
${test.name} 機能試験名(=機能試験実行クラス名)
${test.lastname} 機能試験実行クラスの末尾名
${test.package-dir} 機能試験実行クラスのパッケージ・パス
${test.message} 機能試験の説明
${test.tester} 機能試験の実施者名
${test.date[.simple-date-format]} 機能試験の実施日
${test.judge} 機能試験全体の判定結果{"pass"|"reject"}
${test.check} 機能試験全体の判定数
${test.good} 機能試験全体の合格数
${test.nogood} 機能試験全体の不合格数
${test.knownbug} 機能試験全体の既知不具合数
${test.child} 機能試験全体の判定結果数
${test.empty} 機能試験全体の空メソッド数
${test.incomplete} 機能試験全体の途中メソッド数
${case.name} 機能試験ケース名(= 機能試験実行メソッド名)
${case.message} 機能試験ケースの説明
${case.judge} 機能試験ケースの判定結果{"pass"|"reject"}
${case.check} 機能試験ケースの判定数
${case.good} 機能試験ケースの合格数
${case.nogood} 機能試験ケースの不合格数
${case.knownbug} 機能試験ケースの既知不具合数
${case.child} 機能試験ケースの下位の判定数
${case.empty} 機能試験ケースの空メソッド数
${case.incomplete} 機能試験ケースの実装途中メソッド数
${case.index} 機能試験ケースのインデックス
${class-coverage.name} クラス・カバレッジの対象クラスの名前
${class-coverage.lastname} クラス・カバレッジの対象クラスの末尾名
${class-coverage.package-dir} クラス・カバレッジの対象クラスのパッケージ・ディレクトリ
${class-coverage.index} クラス・カバレッジの対象クラスのインデックス
${class-coverage.lines} クラス・カバレッジの対象クラスの全行数
${class-coverage.passed} クラス・カバレッジの対象クラスの通過行数
${class-coverage.unpassed} クラス・カバレッジの対象クラスの非通過行数
${class-coverage.passed-ratio} クラス・カバレッジの対象クラスの行通過率
${class-coverage.unpassed-ratio} クラス・カバレッジの対象クラスの行非通過率
${class-coverage.passed-lines} クラス・カバレッジの対象クラスの通過行番号の一覧
${class-coverage.unpassed-ratio} クラス・カバレッジの対象クラスの非通過行番号の一覧
${method-coverage.name} メソッド・カバレッジの対象メソッドの名前
${method-coverage.index} メソッド・カバレッジの対象メソッドのインデックス
${method-coverage.lines} メソッド・カバレッジの対象メソッドの全行数
${method-coverage.passed} メソッド・カバレッジの対象メソッドの通過行数
${method-coverage.unpassed} メソッド・カバレッジの対象メソッドの非通過行数
${method-coverage.passed-ratio} メソッド・カバレッジの対象メソッドの行通過率
${method-coverage.unpassed-ratio} メソッド・カバレッジの対象メソッドの行非通過率
${method-coverage.passed-lines} メソッド・カバレッジの対象メソッドの通過行番号の一覧
${method-coverage.unpassed-lines} メソッド・カバレッジの対象メソッドの非通過行番号の一覧
${src-coverage.name} ソース・カバレッジの対象ソースファイルのパス
${src-coverage.index} ソース・カバレッジの対象ソースファイルのインデックス
${src-coverage.lines} ソース・カバレッジの対象ソースファイルの全行数
${src-coverage.passed} ソース・カバレッジの対象ソースファイルの通過行数
${src-coverage.unpassed} ソース・カバレッジの対象ソースファイルの非通過行数
${src-coverage.passed-ratio} ソース・カバレッジの対象ソースファイルの行通過率
${src-coverage.unpassed-ratio} ソース・カバレッジの対象ソースファイルの行非通過率
${src-coverage.passed-lines} ソース・カバレッジの対象ソースファイルの通過行番号の一覧
${src-coverage.unpassed-lines} ソース・カバレッジの対象ソースファイルの非通過行番号の一覧

バージョン:
$Revision: 1.3 $, $Date: 2007/06/25 16:07:41 $
作成者:
佐藤隆之.

入れ子のクラスの概要
 
クラス ts.tester.function.print.HtmlPrinterBase から継承された入れ子のクラス/インタフェース
HtmlPrinterBase._CaseResult
 
フィールドの概要
protected static java.lang.String FMT_CLASS_COVERAGE
          クラス・カバレッジを示す書式指定子。
protected static java.lang.String FMT_METHOD_COVERAGE
          メソッド・カバレッジを示す書式指定子。
protected static java.lang.String FMT_SRC_COVERAGE
          全体カバレッジを示す書式指定子。
protected static java.lang.String KEY_CLASS_COVERAGE_POSTMETHODS
          HTMLページのクラス・カバレッジのメソッド後部を示すリソースキー。
protected static java.lang.String KEY_CLASS_COVERAGE_PREMETHODS
          HTMLページのクラス・カバレッジのメソッド前部を示すリソースキー。
protected static java.lang.String KEY_COVERAGE_FOOTER
          HTMLページのカバレッジ・フッタ部を示すリソースキー。
protected static java.lang.String KEY_COVERAGE_HEADER
          HTMLページのカバレッジ・ヘッダ部を示すリソースキー。
protected static java.lang.String KEY_METHOD_COVERAGE
          HTMLページのクラス・カバレッジのメソッド部を示すリソースキー。
protected static java.lang.String OPT_LINES
          全行数を示す書式指定子。
protected static java.lang.String OPT_PASSED
          通過行数を示す書式指定子。
protected static java.lang.String OPT_PASSED_LINES
          通過行の一覧を示す書式指定子。
protected static java.lang.String OPT_PASSED_RATIO
          通過率を示す書式指定子。
protected static java.lang.String OPT_UNPASSED
          非通過行数を示す書式指定子。
protected static java.lang.String OPT_UNPASSED_LINES
          非通過行の一覧を示す書式指定子。
protected static java.lang.String OPT_UNPASSED_RATIO
          非通過率を示す書式指定子。
 
クラス ts.tester.function.print.HtmlPrinterBase から継承されたフィールド
EOL, FMT_CASE, FMT_TEST, KEY_CASE, KEY_FOOTER, KEY_HEADER, KEY_POSTCASES, KEY_PRECASES, KEY_TOFILE, OPT_CHECK, OPT_CHILD, OPT_DATE, OPT_EMPTY, OPT_GOOD, OPT_INCOMPLETE, OPT_INDEX, OPT_JUDGE, OPT_KNOWNBUG, OPT_LASTNAME, OPT_MESSAGE, OPT_NAME, OPT_NOGOOD, OPT_PACKAGEDIR, OPT_TESTER, PREFIX_CHAR
 
インタフェース ts.tester.coverage.CoveragePrinter から継承されたフィールド
NULL
 
コンストラクタの概要
protected HtmlPrinter()
          デフォルトコンストラクタ。
  HtmlPrinter(java.lang.String testerName)
          デフォルトのソースファイルをロードして、このクラスのインスタンスを作成 する。
  HtmlPrinter(java.lang.String testerName, ts.util.resource.Resource resource)
          試験実施者名とHTMLテンプレートを定義するリソースオブジェクトを引数にとる コンストラクタ。
 
メソッドの概要
 void entryClass(com.sun.jdi.ReferenceType refType)
          クラスの登録時に呼び出されるメソッド。
 void entryLine(com.sun.jdi.Location location)
          行の登録時に呼び出されるメソッド。
 void entryMethod(com.sun.jdi.Method method)
          メソッド呼び出し時に呼び出されるメソッド。
 void exitMethod(com.sun.jdi.Method method)
          メソッド終了時に呼び出されるメソッド。
protected  void outputHtmlFile(java.util.Map<java.lang.String,java.lang.Object> objMap)
          試験結果をHTMLファイルに出力する。
protected  void outputHtmlFileForCoverage()
          試験結果をHTMLファイルに出力する。
 void passLine(com.sun.jdi.Location location)
          行の通過時に呼び出されるメソッド。
 void postCoverage(Coverage coverage)
          カバレッジ計測の後処理を実行する。
 void prepareCoverage(Coverage coverage)
          カバレッジ計測の準備処理を実行する。
protected  java.lang.String replaceArgument(java.lang.String arg, java.util.Map<java.lang.String,java.lang.Object> objMap)
          書式指定子を実際の値に変換する。
 
クラス ts.tester.function.print.HtmlPrinterBase から継承されたメソッド
createCaseResult, getClassLastName, getPackageDir, getReplacedString, getResource, getTesterName, loadDefaultResource, setTesterName, testEnded
 
クラス ts.tester.function.print.AbstractPrinter から継承されたメソッド
caseEnded, caseStarted, checkOccured, isStopped, messageNoted, setStopped, testStarted, testStopped
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

KEY_COVERAGE_HEADER

protected static final java.lang.String KEY_COVERAGE_HEADER
HTMLページのカバレッジ・ヘッダ部を示すリソースキー。

関連項目:
定数フィールド値

KEY_COVERAGE_FOOTER

protected static final java.lang.String KEY_COVERAGE_FOOTER
HTMLページのカバレッジ・フッタ部を示すリソースキー。

関連項目:
定数フィールド値

KEY_CLASS_COVERAGE_PREMETHODS

protected static final java.lang.String KEY_CLASS_COVERAGE_PREMETHODS
HTMLページのクラス・カバレッジのメソッド前部を示すリソースキー。

関連項目:
定数フィールド値

KEY_CLASS_COVERAGE_POSTMETHODS

protected static final java.lang.String KEY_CLASS_COVERAGE_POSTMETHODS
HTMLページのクラス・カバレッジのメソッド後部を示すリソースキー。

関連項目:
定数フィールド値

KEY_METHOD_COVERAGE

protected static final java.lang.String KEY_METHOD_COVERAGE
HTMLページのクラス・カバレッジのメソッド部を示すリソースキー。

関連項目:
定数フィールド値

FMT_SRC_COVERAGE

protected static final java.lang.String FMT_SRC_COVERAGE
全体カバレッジを示す書式指定子。

関連項目:
定数フィールド値

FMT_CLASS_COVERAGE

protected static final java.lang.String FMT_CLASS_COVERAGE
クラス・カバレッジを示す書式指定子。

関連項目:
定数フィールド値

FMT_METHOD_COVERAGE

protected static final java.lang.String FMT_METHOD_COVERAGE
メソッド・カバレッジを示す書式指定子。

関連項目:
定数フィールド値

OPT_LINES

protected static final java.lang.String OPT_LINES
全行数を示す書式指定子。

関連項目:
定数フィールド値

OPT_PASSED

protected static final java.lang.String OPT_PASSED
通過行数を示す書式指定子。

関連項目:
定数フィールド値

OPT_UNPASSED

protected static final java.lang.String OPT_UNPASSED
非通過行数を示す書式指定子。

関連項目:
定数フィールド値

OPT_PASSED_RATIO

protected static final java.lang.String OPT_PASSED_RATIO
通過率を示す書式指定子。

関連項目:
定数フィールド値

OPT_UNPASSED_RATIO

protected static final java.lang.String OPT_UNPASSED_RATIO
非通過率を示す書式指定子。

関連項目:
定数フィールド値

OPT_PASSED_LINES

protected static final java.lang.String OPT_PASSED_LINES
通過行の一覧を示す書式指定子。

関連項目:
定数フィールド値

OPT_UNPASSED_LINES

protected static final java.lang.String OPT_UNPASSED_LINES
非通過行の一覧を示す書式指定子。

関連項目:
定数フィールド値
コンストラクタの詳細

HtmlPrinter

protected HtmlPrinter()
デフォルトコンストラクタ。


HtmlPrinter

public HtmlPrinter(java.lang.String testerName)
デフォルトのソースファイルをロードして、このクラスのインスタンスを作成 する。

パラメータ:
testerName - 試験実施者名。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

HtmlPrinter

public HtmlPrinter(java.lang.String testerName,
                   ts.util.resource.Resource resource)
試験実施者名とHTMLテンプレートを定義するリソースオブジェクトを引数にとる コンストラクタ。

パラメータ:
testerName - 試験実施者名。
resource - HTMLテンプレートを定義するリソースオブジェクト。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。
メソッドの詳細

prepareCoverage

public void prepareCoverage(Coverage coverage)
カバレッジ計測の準備処理を実行する。

定義:
インタフェース CoveragePrinter 内の prepareCoverage
パラメータ:
coverage - カバレッジ計測オブジェクト。

postCoverage

public void postCoverage(Coverage coverage)
カバレッジ計測の後処理を実行する。

定義:
インタフェース CoveragePrinter 内の postCoverage
パラメータ:
coverage - カバレッジ計測オブジェクト。

entryLine

public void entryLine(com.sun.jdi.Location location)
行の登録時に呼び出されるメソッド。

定義:
インタフェース CoveragePrinter 内の entryLine
パラメータ:
location - 登録された行を示すLocation オブジェクト。

entryClass

public void entryClass(com.sun.jdi.ReferenceType refType)
クラスの登録時に呼び出されるメソッド。

定義:
インタフェース CoveragePrinter 内の entryClass
パラメータ:
refType - 登録されたクラス又はインターフェイスを示す ReferenceTypeオブジェクト。

entryMethod

public void entryMethod(com.sun.jdi.Method method)
メソッド呼び出し時に呼び出されるメソッド。

定義:
インタフェース CoveragePrinter 内の entryMethod
パラメータ:
method - 呼び出されたメソッドを示すMethod オブジェクト。

exitMethod

public void exitMethod(com.sun.jdi.Method method)
メソッド終了時に呼び出されるメソッド。

定義:
インタフェース CoveragePrinter 内の exitMethod
パラメータ:
method - 終了したメソッドを示すMethod オブジェクト。

passLine

public void passLine(com.sun.jdi.Location location)
行の通過時に呼び出されるメソッド。

定義:
インタフェース CoveragePrinter 内の passLine
パラメータ:
location - 通過した行を示すLocation オブジェクト。

outputHtmlFile

protected void outputHtmlFile(java.util.Map<java.lang.String,java.lang.Object> objMap)
試験結果をHTMLファイルに出力する。
testEndedメソッドから呼ばれる。
実際には、書式指定子を書き換える値を格納したマップを、このオブジェクトに 設定しているだけで、HTMLファイルへの出力は行っていない。
HTMLファイルへの出力を行っているのはoutputHtmlFileForCoverage() メソッドである。outputHtmlFileForCoverage()postCoverage(Coverage)メソッドから呼ばれる。

オーバーライド:
クラス HtmlPrinterBase 内の outputHtmlFile
パラメータ:
objMap - 書式指定子を置き換える値を格納したマップ。
例外:
java.lang.AssertionError - 引数がヌルの場合(デバッグモードのみ)。

outputHtmlFileForCoverage

protected void outputHtmlFileForCoverage()
試験結果をHTMLファイルに出力する。
このメソッドは、postCoverage(Coverage)メソッドから呼ばれる。


replaceArgument

protected java.lang.String replaceArgument(java.lang.String arg,
                                           java.util.Map<java.lang.String,java.lang.Object> objMap)
書式指定子を実際の値に変換する。
書式指定子を置き換える値オブジェクトは、引数のマップに対して以下の 書式指定子を指定することによって取り出すことができる。
書式指定子 説明
FMT_TEST 試験実行クラスに対する_CaseResult オブジェクト。
FMT_CASE 試験実行メソッドに対するHtmlPrinterBase._CaseResult オブジェクト。
FMT_COVERAGE_CLASS クラス・カバレッジ情報を格納したCaseResult オブジェクト。
FMT_COVERAGE_METHOD メソッド・カバレッジ情報を格納したCaseResultオブジェクト。
FMT_SRC_COVERAGE 全体のカバレッジ情報を格納したCaseResultオブジェクト。

オーバーライド:
クラス HtmlPrinterBase 内の replaceArgument
パラメータ:
arg - 書式指定子。
objMap - 書式指定子を置き換える値を格納したマップ。
戻り値:
変換後の文字列。


Copyright (C) SATOH Takayuki All Rights Reserved.