無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

テストケースを実行するターゲットのサンプル

テストを実行するターゲットを書きました。テストのコンパイル→実行→レポート作成を行ないます。

<!-- タスクで使用するプロパティ -->
<!-- コンパイル用クラスパス -->
<path id="class.compile.path">
</path>
  
<!-- テストケースコンパイル用クラスパス-->
<path id="test.compile.path">
  <path location="lib/junit.jar"/>
  <path refid="class.compile.path" />
</path>
  
<!-- テスト実行用クラスパス -->
<path id="test.runtime.path">
  <path location="${test.classes.dir}" />
  <path refid="test.compile.path" />
</path>
  
<!-- テストソース置き場 -->
<property name="test.src.dir" value="./test"/>
<!-- テストクラス置き場 -->
<property name="test.classes.dir" value="./test-classes"/>
<!-- テストリポート置き場 -->
<property name="test.report.dir"  value="./test-reports"/>

  
<!-- テストをコンパイル/実行-->
<target name="test" description="テストをコンパイルし実行する。">
  <antcall target="test-report"/>
</target>

<!-- テストを実行する-->
<target name="test-execute" depends="test-compile">
  <delete dir="${test.report.dir}"/>   
  <mkdir dir="${test.report.dir}" />
  <junit fork="true" printsummary="yes" haltonfailure="no" haltonerror="no">
      <classpath refid="test.runtime.path"/>
      <jvmarg line="-Djava.awt.headless=true"/>
      <!--
        システムプロパティが必要なら↓のような感じで指定する。
      <sysproperty key="key" value="value"/>
        -->
      <batchtest fork="yes" todir="${test.report.dir}">
        <fileset dir="${test.classes.dir}">
          <include name="**/*Test.class"/>
        </fileset>
        <formatter type="xml"/>
      </batchtest>
  </junit>
</target>
 
<!-- テストをコンパイルする -->
<target name="test-compile">
  <mkdir dir="${test.classes.dir}" />
  <javac srcdir="${test.src.dir}" destdir="${test.classes.dir}" encoding="UTF-8">
    <classpath refid="test.compile.path"/>
  </javac>
</target>

<!-- テストリポートを作成する -->
<target name="test-report" depends="test-execute">
  <junitreport todir="${test.report.dir}">
    <fileset dir="${test.report.dir}">
      <include name="TEST-*.xml"/>
    </fileset>
    <report format="frames" todir="${test.report.dir}"/>
  </junitreport>
</target>

実行は以下のコマンドで。

$ ant test

隣の炎上プロジェクトで使うため昔使っていたbuild.xmlからコピペして作成したわけだけど、こういう作業をしているとやっぱMavenは便利だなーと思う。↑みたいなタスクとか、何回定義してきたかわからない、もう飽きたよ。。。まぁ、アレはアレで腹立つことも多いけど、今から新規にプロジェクト作るとしたらMavenだよなー。