実行モードを切り替えて実行する
Pitaliumは期待値を設定するモードとテスト実行モードという、2つの実行モードがあり、場合によってこれらを使い分ける必要があります。
Pitaliumでは実行モードをenvironmentConfig.jsonで指定する方法と、JVMパラメータとして設定する方法があります。
参考:テスト実行モード
テストコードや他の設定を保ちつつ、実行モードだけを切り替えたい場合、JVMパラメータ(-Dcom.htmlhifive.pitalium.execMode)を使用するとよいです。
テストの実行方法はいくつか考えられますが、代表的なものについてJVMパラメータを用いた実行方法を説明します。
コマンドプロンプトからの実行
コマンドプロンプトから直接テストを実行します。PitaliumはJUnitベースなので、下記の形式で実行できます。
例えば、pitalium-sampleの構造でPtlSampleTestを実行する場合、以下のように実行します(targetフォルダ内にコンパイル後のファイルがあるとします)。
java -cp ".;..\libs\*" org.junit.runner.JUnitCore com.htmlhifive.pitalium.sample.PtlSampleTest
実行モードを指定する場合は、-Dcom.htmlhifive.pitalium.execMode=<実行モード>を上記に追加します。
- 正解定義モード
java -cp ".;..\libs\*" org.junit.runner.JUnitCore com.htmlhifive.pitalium.sample.PtlSampleTest -Dcom.htmlhifive.pitalium.execMode=SET_EXPECTED - テスト実行モード
java -cp ".;..\libs\*" org.junit.runner.JUnitCore com.htmlhifive.pitalium.sample.PtlSampleTest -Dcom.htmlhifive.pitalium.execMode=RUN_TEST
Antによる実行
Apache Antを使用してテストを実行します。build.xmlでjunitの実行を指定し、JVM引数で実行モードを指定します。
<target name="SET_EXPECTED">
<mkdir dir="${junit.output.dir}"/>
<junit fork="yes" printsummary="withOutAndErr">
<formatter type="xml"/>
<jvmarg value="-Dcom.htmlhifive.pitalium.execMode=SET_EXPECTED"/>
<test name="com.htmlhifive.pitalium.sample.PtlSampleTest" todir="${junit.output.dir}"/>
<classpath refid="classpath"/>
</junit>
</target>
<!-- テスト実行モード -->
<target name="RUN_TEST">
<mkdir dir="${junit.output.dir}"/>
<junit fork="yes" printsummary="withOutAndErr">
<formatter type="xml"/>
<jvmarg value="-Dcom.htmlhifive.pitalium.execMode=RUN_TEST"/>
<test name="com.htmlhifive.pitalium.sample.PtlSampleTest" todir="${junit.output.dir}"/>
<classpath refid="classpath"/>
</junit>
</target>
EclipseなどのIDEではプラグインをいれることで、build.xmlを右クリックして実行を選ぶとAntを実行することができます。
コマンドラインから直接実行する場合は、以下のようになります。
- 正解定義モード
- テスト実行モード