将Specs2结果与Jenkins集成

时间:2013-09-30 16:10:16

标签: jenkins sbt specs2

我想将Specs2测试结果与Jenkins集成。

我在sbt:

中添加了以下属性

分解器:

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

libraryDependencies:

"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

[error]无法运行测试代码.model.UserSpec:java.lang.IllegalArgumentException:junitxml需要指定目录,例如:junitxml(directory =“xxx”)

只有当我给出如下所示的目录时它才有效:

SBT> test-only - junitxml(directory =“\ target \ specs-reports”)

但有时它没有生成所有规格报告xmls(有时只生成一个报告,有时只生成两个报告等。)

如果我在jenkins中提供仅限测试 - junitxml(directory =“\ target \ specs-reports”),则会出现以下错误。

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

我的主要目标是,我想以junit xml格式生成整合的测试报告并与Jenkins集成。请帮助我解决我的问题。

最诚挚的问候,

1 个答案:

答案 0 :(得分:8)

junitxml输出目录的选项是:“specs2.junit.outDir”,默认值为“target / test-reports”。

因此,如果你不改变任何东西,你可以指示Jenkins从“target / test-reports”中抓取xml文件,这就是我通常所做的。

此外,您可能必须在引号中将您的sbt命令包含在Jenkins中。这就是我通常做的事情:

"test-only -- html junitxml console"