2011-12-05 11 views
0

私の現在のアプローチは、私のアプリケーションからです。ちょうどantビルドを呼び出して、必要なjunitレポートを作成しますが、プログラマチックにjunitレポートを柔軟にコーディングする必要があります。 プログラムでJUnitレポートを作成する

が、私はこのアプローチ Ant:create JUnit report task programmatically

FileSet fs = new FileSet(); 
fs.setDir(new File("..")); 
fs.createInclude().setName("TEST-*.xml"); 
XMLResultAggregator aggregator = new XMLResultAggregator(); 
aggregator.addFileSet(fs); 
AggregateTransformer transformer = aggregator.createReport(); 
transformer.setFormat(Format.FRAMES); 
transformer.setTodir(new File(".."); 

を試みたが、私もそれが実行して取得することはできません。これ以上のアイデアは?あなたがメソッドにこれを入れて、それを自分で実行する必要が

<junitreport todir=".."> 
<fileset dir=".."> 
<include name="TEST-*.xml" /> 
</Fileset> 
<report format="frames" todir=".." /> 
</Junitreport> 

+0

あなたはどこにいらっしゃいましたか?なぜそれは動かなかったのですか? – Deco

+0

'FileSet fs = new FileSet(); fs.setDir(新しいファイル( "..")); fs.createInclude()。setName( "TEST - *。xml"); XMLResultAggregatorアグリゲータ=新しいXMLResultAggregator(); aggregator.addFileSet(fs); AggregateTransformer transformer = aggregator.createReport(); transformer.setFormat(Format.FRAMES); transformer.setTodir(new File( ".."); ' Format.FRAMESの値は何ですか?プログラムからjunitを実行すると、上記のコードはいつ呼び出されますか? – jantox

答えて

1

あなたが貼り付けられたコードは、junitreportタスクを呼び出すのと同じです。このコードでは、TEST-*.xmlというファイルがすべて取得され、レポートが作成されます。それはではなく、これらのファイルを作成します。これらのファイルは、Antのjunitタスクによって作成されます。

  1. がTESTの* .xmlファイルがどこかに一時ディレクトリに作成されていることを確実にすること、(JUnitTask (Apache Ant API)を参照)、プログラムのJUnitタスクを実行します。だから、する必要があります。
  2. これらの一時ファイルを使用して、上記のコードを実行してレポートを作成します。

これを行う最も簡単な方法はおそらく、build.xmlをどこかに持ち、antを直接呼び出すことです。使用しているファイルセットが安定している場合、これはおそらく最も簡単な方法です。このためにはProcessBuilder Javaクラスを使用してください。

関連する問題