7

Specs2 のテスト結果を Jenkins に統合したい。

sbt に以下のプロパティを追加しました。

リゾルバ:

"maven specs2"      at  "http://mvnrepository.com/artifact"

ライブラリの依存関係:

"org.specs2"              %% "specs2"            % "2.0-RC1"                  % "test",

システム プロパティ:

testOptions in Test += Tests.Setup(() => System.setProperty("specs2.outDir", "/target/specs2-reports"))              //Option1

//testOptions in Test += Tests.Setup(() => System.setProperty("specs2.junit.outDir", "/target/specs2-reports"))    //Option2

testOptions in Test += Tests.Argument(TestFrameworks.Specs2, "console", "junitxml")

以下のコマンドを実行すると、上記のディレクトリ ("/target/specs2-reports") にスペック レポートが生成されません。

sbt> テスト

以下のコマンドを実行すると、以下のエラー メッセージに示すように、ディレクトリが要求されます。

sbt> テスト専用 -- junitxml

[エラー] テスト code.model.UserSpec を実行できませんでした: java.lang.IllegalArgumentException: junitxml にはディレクトリを指定する必要があります。例: junitxml(directory="xxx")

そして、以下に示すようにディレクトリを指定した場合にのみ機能します:

sbt> テスト専用 -- junitxml(directory="\target\specs-reports")

ただし、すべての仕様レポート xml が生成されない場合があります (レポートが 1 つしか生成されない場合もあれば、レポートが 2 つしか生成されない場合もあります)。

ジェンキンで test-only -- junitxml (directory="\target\specs-reports")を指定すると、以下のエラーが発生します。

[error] Not a valid key: junitxml (similar: ivy-xml)
[error] junitxml(
[error]         ^

私の主な目標は、junit xml 形式で統合されたテスト レポートを生成し、Jenkins と統合することです。私の問題を解決するのを手伝ってください。

よろしくお願いします、

ハリ

4

1 に答える 1

8

junitxml 出力ディレクトリのオプションは「specs2.junit.outDir」で、デフォルト値は「target/test-reports」です。

したがって、何も変更しない場合は、Jenkins に "target/test-reports" から xml ファイルを取得するように指示することができます。これは私が通常行っていることです。

また、Jenkins の sbt コマンドを引用符で囲む必要がある場合もあります。これは私が通常行うことです:

"test-only -- html junitxml console"
于 2013-10-05T01:39:29.380 に答える