開発者ブログ

実行モードを切り替えて実行する

Last modified by kashi on 2016/01/28, 10:59

Pitaliumは期待値を設定するモードとテスト実行モードという、2つの実行モードがあり、場合によってこれらを使い分ける必要があります。

Pitaliumでは実行モードをenvironmentConfig.jsonで指定する方法と、JVMパラメータとして設定する方法があります。
参考:テスト実行モード

テストコードや他の設定を保ちつつ、実行モードだけを切り替えたい場合、JVMパラメータ(-Dcom.htmlhifive.pitalium.execMode)を使用するとよいです。
テストの実行方法はいくつか考えられますが、代表的なものについてJVMパラメータを用いた実行方法を説明します。

コマンドプロンプトからの実行

コマンドプロンプトから直接テストを実行します。PitaliumはJUnitベースなので、下記の形式で実行できます。

java -cp <クラスパス> org.junit.runner.JUnitCore <実行クラス>

例えば、pitalium-sampleの構造でPtlSampleTestを実行する場合、以下のように実行します(targetフォルダ内にコンパイル後のファイルがあるとします)。

cd pitalium-sample\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を実行することができます。
コマンドラインから直接実行する場合は、以下のようになります。

  • 正解定義モード
ant SET_EXPECTED
  • テスト実行モード
ant RUN_TEST

Copyright (C) 2012-2017 NS Solutions Corporation, All Rights Reserved.