0

実際にbuild.xmlを必要とせずにantタスクを実行する方法を見つけようとしています。JUnit特に、フォーマッタでタスクを実行したいと考えています。xml 形式では、これは次のようになります。

<junit printsummary="true" errorProperty="test.failed" failureProperty="test.failed">
    <classpath refid="run.class.path" />

    <!-- console log -->
    <formatter type="xml" classname="be.x.SFFormatter" />

    <test name="be.x.SF" outfile="result" todir="${build.output.dir}" />
</junit>

Ant スクリプトを実行すると機能しますが、アプリを実行可能な jar として実行したいと考えています。Java からテストを実行するのは簡単でした。

    JUnitCore junit = new JUnitCore();
    testResult = junit.run(SeleniumFramework.class);

ただし、フォーマッターを実際に機能させる方法を見つけるのに苦労しています。フォーマッタはタイプorg.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatterなので、ant を実行せずにどこかにプラグインできるとは思えません。

誰かが以前に似たようなことをしたことがありますか? ありがとう!

4

2 に答える 2

2

Ant は魔法を使いません。XML ファイルを読み取り、そのファイルで指定された Bean を作成し、Task API ( ) に従ってメソッドを実行するだけorg.apache.tools.ant.Taskです。

したがって、必要なのはコードで同じことを行うことだけです。を作成することを忘れないでくださいProject:-)

于 2012-07-11T11:54:31.173 に答える
1

Groovy 経由で Ant を使用して、xml 構文を回避できます。
詳細は => Groovy から Ant を使用するを参照してください。

于 2012-07-11T17:27:10.780 に答える