2012-01-09 5 views
1

次のJUnitはantでうまく動作していますが、main()メソッド(antを使用しないとき)からフォーマッタを使用する方法は見つかりませんでした。ここでJavaアプリケーション内で実行するときにJUnitフォーマッタを使用する

はantタスクです:Javaコードで

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

    <!-- use multiple formatters --> 
    <formatter type="brief" usefile="false" /> 
    <!-- console log --> 
    <formatter type="xml" classname="x.selenium.output.SeleniumFrameworkFormatter" /> 
    <!-- file log --> 

    <test name="x.selenium.SeleniumFramework" haltonfailure="no" outfile="result" todir="${build.temp.dir}" /> 
<junit> 

、私は代替としてこれを持っているが、これは、コンソールに出力して、素敵なhtmlファイルを作成するために私のフォーマッタを使用していない:

JUnitCore junit = new JUnitCore(); 
Result result = junit.run(classes); 

誰もJavaコードで同様のことを行う方法を知っていますか? ありがとう!

+0

使用しているJUnitのバージョンは? – alexsmail

答えて

2

純粋なJUnitからフォーマットされた出力を生成する良い方法はありません。 antと同じ出力を得る最も簡単な方法は、ant自体を実行することです。あなたは、どちらかのようなものを使用して、直接アリを実行することができます。

Process p = Runtme.getRuntime.exec("/path/to/ant target"); 

または類似の、またはあなたが直接org.apache.tools.ant.Mainメソッドを呼び出すことができますが、これはSystem.exit()を呼び出すことに注意してください。

JavaからAntを実行する場合の回答は、Run ant from JavaおよびInvoke ant from java, then return to java after ant terminationも参照してください。

関連する問題