Webtribeで作成したロジッククラスのテストをJUnitを使用してテストを行うことが出来ます。
Webtribeでは JUnitのテスト方法として、
独自でコーディングを行う方法と、XMLにテストパターンを記述する方法の
二種類を用意してます。
JUnit.orgより JUnitのモジュールをダウンロードして下さい。
http://www.junit.org/
モジュールを解凍すると、[junit.jar] 或いは [junit-(バージョン番号).jar] が、
解凍した直下のディレクトリに見つかるかと思われます。
このクラスは JUnit の実行に必要な ライブラリファイルとなります。
このライブラリファイルは、ドキュメント上では
[junit.jar] という名前で記述させて頂きます。
独自に JUnitのTestCaseをコーディングし記入することが出来ます。
package jp.ne.mki.sample.wedge.junit; import jp.ne.mki.wedge.junit.rule.RuleResult; import jp.ne.mki.wedge.junit.rule.RuleRunner; import jp.ne.mki.wedge.rule.common.value.AddTail; import junit.framework.TestCase; public class TestAddTail extends TestCase { public void test1() throws Throwable { AddTail rule = new AddTail(); RuleRunner ruleRunner = new RuleRunner(rule); // 入力レコードの設定 ruleRunner.addInData("spring"); ruleRunner.addInData(new String[] { "summer", "autumn", "winter" }); // 出力レコードの設定 ruleRunner.addOutData(RuleRunner.EMPTY_TEXT_DATA); ruleRunner.addOutData(RuleRunner.EMPTY_COLUMN_DATA); // パラメータの設定 ruleRunner.setRuleParameter(".txt"); // 実行 RuleResult result = ruleRunner.execute(); // 実行結果チェック result.statusCheck(RuleRunner.OK); // 出力レコードチェック result.outCheck(0, "spring.txt"); result.outCheck(1, new String[] { "summer.txt", "autumn.txt", "winter.txt" }); } }
Webtribeでは、ロジッククラスの実行用のクラス(RuleRunner)と結果格納用のクラス(RuleResult)を提供してます。
それぞれのクラスは下記のメソッドを提供しています。
jp.ne.mki.wedge.junit.rule.RuleRunner
コンストラクタで実行するロジッククラスのインスタンスを設定してください。
jp.ne.mki.wedge.junit.rule.RuleResult
RuleRunner#execute()を実行することによって生成されるクラスです。
コンパイルを行うには下記 jarファイルがクラスパスに必要です。
JUnitでのテスト実行する方法として JUnit.jarに標準で含まれる TestRunenrを 使用する方法があります。
下記は TestRunnerを使用した実行のバッチファイルのサンプルです。
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06\ set CLASSPATH=lib\RuleCommonClient.jar;lib\ToolClient.jar;lib\junit.jar;C:\java\test\classes "%JAVA_HOME%\bin\java" junit.textui.TestRunner jp.ne.mki.sample.wedge.junit.TestAddTail pauseなお、このバッチファイルで動作をするのは 下記のような環境の時のバッチファイルです。
..... Time: 0.031 OK (5 tests) 続行するには何かキーを押してください . . .といった形で表示された場合は、テストが正常に完了したことを示しております。
この方法は、テストに必要なクラス名や データ、また実行後のテスト結果などを
XMLに記述しておき、そのXMLを読み込むことでテストを行います。
流れとしては、
テスト情報のXMLは、テキストエディタなどで作成をすることも可能ですが、
デバッグテストツールの機能を使用して生成をすることも可能です。
まず、テストパターンを作成したいロジッククラスを用意し、テストツールを起動して
テストを実行してください。
テストを実行した後、その表示された結果が 正しいテスト結果であった場合は、
メニューバーの[ファイル] から、 [XMLエクスポート]を実行してください。
その後ファイルチューザが表示されますので、適当なファイルに保存を行います。
このファイルをエディタ等で開いていただくと、先ほど行ったテストの情報が
XMLとして出力されているのが確認できるかと思われます。
<?xml version="1.0" encoding="Shift_JIS"?> <test class_name="TestAddTail" package="jp.ne.mki.wedge.rule.common.value"> <target class_name="AddTail" package="jp.ne.mki.wedge.rule.common.value"> <comment>テスト</comment> </target> <case name="Success1" comment="基本動作1"> <in> <item name="IN-1" itemType="TEXT"> <value>spring</value> </item> <item name="IN-2" itemType="COLTEXT"> <value>summer</value> <value>autumn</value> <value>winter</value> </item> </in> <out> <item name="OUT-1" itemType="TEXT"> <value></value> </item> <item name="OUT-2" itemType="COLTEXT"> </item> </out> <parameter>.txt</parameter> <return result="OK"> <out> <item name="OUT-1"> <value>spring.txt</value> </item> <item name="OUT-2"> <value>summer.txt</value> <value>autumn.txt</value> <value>winter.txt</value> </item> </out> </return> </case> </test>
これで XMLの準備は完了となります。
このXMLをどこか適当なディレクトリに保存をして下さい。
このjunit.jarを Webtribeのクライアントディレクトリにある
lib ディレクトリへコピーしてください。
(※ [junit-(バージョン番号).jar]の場合は [junit.jar] とリネームしてください。)
準備が出来たら、LogicClassJUnitTest.batを実行してください。
Testcase Create Start. (XML Path Name = ./junitxml) Testcase Create End ..... Time: 0.031 OK (5 tests) 続行するには何かキーを押してください . . .といった形で表示された場合は、junitxmlに含まれるテストパターンが、 すべて正常に完了したことを示しております。
デフォルトではサンプルの XML定義が設定されてますが、
前項で作成をした 独自のテストパターンのファイルを
junitxmlディレクトリに格納をすると、
次回以降起動した際に、そのXMLファイルに記述された内容もテストが行われます。