【发布时间】:2020-09-02 12:07:44
【问题描述】:
对于基于 Play with sbt 的项目,我希望使用不同的配置文件为测试运行提供多种风格。动机是能够针对本地或远程数据库运行测试。
已经有一个为一般测试运行指定的自定义配置文件(在 build.sbt 中):
javaOptions in Test += "-Dconfig.file=conf/application.test.conf"
现在我想要另一个命令,在该命令中针对某些配置文件 conf/application.test-ci.conf 运行相同的测试。
目前尝试过的方法
添加命令别名
addCommandAlias("test-ci", ";test -Dconfig.file=conf/application.test-ci.conf")
这失败并显示缺少分号 (;) 的错误消息,表明 sbt 将生成的命令行解释为多个命令,但我不明白为什么。
扩展Test
lazy val CITest = config("ci") extend Test
lazy val config = (project in file(".")).enablePlugins(PlayScala)
.configs(CITest)
.settings(inConfig(CITest)(Defaults.testTasks): _*)
.settings(
javaOptions in CITest += "-Dconfig.file=conf/application.test-ci.conf"
)
javaOptions in CITest -= "-Dconfig.file=conf/application.test.conf"
我不完全理解这是在做什么,但它似乎总是选择其他测试配置文件。
如何指定多个测试设置来获取不同的配置文件?
【问题讨论】:
标签: scala playframework sbt