要使用scalatest生成junit XML文件,我们有以下设置:
object MyBuild extends Build {
...
override lazy val settings = super.settings ++ (testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/test-report"))
}
这个问题是它在根文件夹中定义了JUnix XML的输出文件夹,而不是为每个子项目定义。
如何添加一个通用设置,使输出的位置相对于每个子项目?
答案 0 :(得分:2)
其中一个解决方案是定义自己的方法来创建项目(在这个方法中你可以创建默认设置):
def DefaultProject(name: String, path: String) = Project(name, file(path)).
settings(testOptions in Test +=
Tests.Argument(TestFrameworks.ScalaTest, "-u",path+"/target/test-report")
)
然后您可以定义以下项目:
lazy val genscalaxb = DefaultProject("genscalaxb", "genscalaxb").
settings(scalaxbSettings: _*)
lazy val converter = DefaultProject("converter", "converter").
settings(instrumentSettings: _*).dependsOn(`genscalaxb`)
答案 1 :(得分:0)
如果您使用的是.sbt文件而不是完整的Scala构建配置,则可以使用类似
的内容scalaVersion in ThisBuild := "2.11.2"
在你的根.sbt文件中。这会将范围修饰符添加到设置定义中,并将其添加到当前构建中的所有项目中。