scala – 在sbt中定义自定义配置
我想在集成服务器和开发环境中设置另一组运行测试的选项.
我们有这个选项: testOptions := Seq(Tests.Filter(s => Seq("Spec","Unit").exists(s.endsWith(_)))) 如何更改testOptions,因此只有在测试命令带有像teamcity:test这样的范围的前缀时才应用它. 我希望,testOptions将使用类似的语法进行修改: testOptions in Teamcity := ... 我也想知道,如何定义自定义范围,最好是简单的* .sbt构建,而不是项目/ * .scala构建. 解决方法
范围可以是项目,配置或任务.在这种情况下,我认为您正在寻找定义自定义配置.
使用itSettings 已经有一个名为IntegrationTest的内置配置.您可以通过编写以下内容在构建定义中定义它: Defaults.itSettings 这将使用与正常测试完全不同的设置,包括测试代码(进入src / it / scala /)和库,因此这可能不是您想要的. 定义您自己的配置 使用sbt 0.13,您可以在build.sbt中定义自定义配置,如下所示: val TeamCity = config("teamcity") extend(Test) val root = project.in(file(".")). configs(TeamCity). settings(/* your stuff here */,...) 定义团队城市:测试 现在你必须弄清楚如何定义teamcity:test. 编辑:马克哈拉斯向我指出,这里有一份文件.见Additional test configurations with shared sources.
把它们放在一起 val TeamCity = config("teamcity") extend(Test) val root = project.in(file(".")). configs(TeamCity). settings( name := "helloworld",libraryDependencies ++= Seq( "org.specs2" %% "specs2" % "2.2" % "test" ) ). settings(inConfig(TeamCity)(Defaults.testTasks ++ Seq( testOptions := Seq(Tests.Argument("nocolor")) )): _*) 运行teamcity时:测试Specs2输出显示没有颜色. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |