簡體   English   中英

如何為sbt測試指定sbt 0.12.2的配置文件?

[英]How do I specify a config file with sbt 0.12.2 for sbt test?

我有戲! 項目與單元測試,我試圖使用sbt在我的登台環境中運行測試。 在升級到Play 2.1之前,當我使用Play 2.0.4和sbt 0.11.3時,我可以進行$ sbt -Dconfig.file=conf/staging.conf test 現在,無論我為-Dconfig.file指定什么, sbt test似乎都使用默認的application.conf。

sbt start -Dconfig.file=conf/staging.conf仍然可以正常工作。 這是sbt 0.12.2的錯誤,還是我應該指定一個配置文件以其他方式運行測試?

測試是使用分叉的jvm。 使用javaOptions sbt設置將jvm選項傳遞給它,例如

javaOptions ++= Seq("-Dconfig.file=conf/staging.conf")
要么

javaOptions ++= collection.JavaConversions.propertiesAsScalaMap(System.getProperties).map{ case (key,value) => "-D" + key + "=" +value }.toSeq

類似的方法是只通過配置文件即可使用,同時觸發sbt測試

首先,在Build.scala文件中

val testOptions = "-Dconfig.file=conf/" + Option(System.getProperty("test.config")).getOrElse("application") + ".conf"

val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
    javaOptions in Test += testOptions
)

然后,在命令行中使用integ.conf運行測試

sbt -Dtest.config=integ test

使用默認的application.conf

sbt test 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM