2012-03-27 16 views
1

AntまたはMavenなしでJUnitからレポートを作成できますか?速度コードでテストを呼び出すので、速度コードはメソッドを呼び出します。そのメソッドはすべてのテストを呼び出します。だから私はそれから応答を得ることができます失敗/エラー/実行などしかし、私はそれを使用してレポートを作成する..または自分でHTMLのものを作成する必要がありますか?Junitはant/mavenなしでレポートを作成します

私はJavaでメソッドとテストメソッドを作成しました。そのため、Velocityコードの呼び出しを除き、Javaですべてを行います。

Velocitycode:

$ {custom.test}

Javaコード:

公共ボイドgetTest(){
junit.textui.TestRunnerランナー=新規のJUnit .textui.TestRunner();
TestResult testresult = Junit.textui.TestRunner.run(runner.getTest(MyTestClass.class.getName()));
}

+0

「速度コードを呼び出す」と言うと、少し具体的になりますか?ベロシティから来るテストランナーがいるということですか?あなたはもう少し明示的にすることができますし、いくつかのサンプルコードを投稿してください? –

+0

私はコードを追加しました。速度コードを使用して、JavaでgetTestメソッドを呼び出します。メソッドgetTestはテストを実行します – Gynnad

答えて

0

そう思わないでください。しかし、ツールではなくライブラリとしてantを使用し、ツールがこれらのレポートを生成するために使用するのと同じコードを使用することができます。

+0

私は理解できませんか?コード内でJUnitテストを実行しますが、それでは?どのようにして 'Ant Library'を使ってコード内のレポートを作成できますか? – Gynnad

+0

あなたの質問を正しく理解していれば、何とかJUnitの出力を取り出してフォーマットすることができるライブラリを探しています(そうですか?)私の考えは、Antがこれを行うことができ、Antはjarでは、あなたが探しているものを得るためにAntが行うのと同じクラスを利用することができます。たとえば、このクラスを見てみましょう。http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api/org/apache/tools/ant/taskdefs/optional/junit/ SummaryJUnitResultFormatter.html。クラスの使い方を知るには、antのソースをチェックする必要があります。 –

+0

はい、そうですが、図書館でレポートを作成する方法を見つけることができません。例やチュートリアルなどがありますか? – Gynnad

1

あなたはantライブラリが必要です。しかし、このコードでは、XMLレポートを作成し、それを他のpogramsで使用することができます。ジェンキンスなど。

public static void getTest(){ 
    String pathToReports = "C:\\path\\to\\the\\Reports"; 
    Project project = new Project(); 

    try { 
     new File(pathToReports).mkdir(); 
     JUnitTask task = new JUnitTask(); 

     project.setProperty("java.io.tmpdir",pathToReports); 
     task.setProject(project); 

     FormatterElement.TypeAttribute type = new FormatterElement.TypeAttribute(); 
     type.setValue("xml"); 

     FormatterElement formater = new FormatterElement(); 
     formater.setType(type); 
     task.addFormatter(formater); 

     JUnitTest test = new JUnitTest(YOURTEST.class.getName()); 
     test.setTodir(new File(pathToReports)); 

     task.addTest(test);   
     task.execute(); 
    } catch (Exception e) { 
    } 

} 
関連する問題