問題
junit 形式のレポートが Jenkins によって取得されないため、プロジェクトのステータス画面にレポートが表示されません。
詳細
junit 形式のレポート データは、Karma-runner (以前の Testacular) と呼ばれるテスト フレームワークによって生成されます。無視されるファイルは/target/surefire-reports
、確実に生成されたレポートが作成される場所と同じ場所に作成されます。レポート データは、その親要素が--<testsuites>
ではなく、確実に生成されたレポートがレポート ファイルの親要素として持つものであることを除いて、maven Surefire プラグインによって生成されたものと実質的に同じに見えます。という名前の、カルマによって生成された junit 形式のレポートのスニペットを次に示します。<testsuite>
<testsuite>
TEST-karma.resultsTest.xml
Junit 形式の Karma 生成レポート ファイル、TEST-karma.resultsTest.xml
<?xml version="1.0"?>
<testsuites>
<testsuite name="PhantomJS 1.9 (Mac)" package="karma.tests" timestamp="2013-04-10T13:32:26" id="0" hostname="jgmbp.local" tests="16" errors="0" failures="0" time="0.069">
<properties>
<property name="browser.fullName" value="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.0 Safari/534.34"/>
</properties>
<testcase name="successfully cancels a new member" time="0.006" classname="karma.tests PhantomJS 1.9 (Mac).Household Controller"/>
<testcase name="should parse an existing re-eval create date, setting the data in scope" time="0.003" classname="karma.tests PhantomJS 1.9 (Mac).Re-Eval Controller"/>
<system-out><![CDATA[
]]></system-out>
<system-err/>
</testsuite>
</testsuites>
Karma テストは、Maven ビルドのテスト段階で実行されます。この 1 つの junit-report ファイルのみを生成するプロジェクトを作成し、すべての junit テストとカルマ テストがレポート ファイルを生成するようにビルドを実行しようとしました。Jenkins は常に確実なテストを取得しますが、カルマ テストは取得しません。
ご意見ありがとうございます。