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

fpearsall picture fpearsall · Mar 14, 2013 · Viewed 10.2k times · Source

I have a Play! project with unit tests and I am trying to run tests on my staging environment using sbt. Before I upgraded to Play 2.1, when I was using Play 2.0.4 and sbt 0.11.3 I could do $ sbt -Dconfig.file=conf/staging.conf test. Now sbt test seems to use the default application.conf no matter what I specify for -Dconfig.file.

sbt start -Dconfig.file=conf/staging.conf still works fine. Is this behavior a bug with sbt 0.12.2 or should I be specifying a config file for running tests in a different way?

Answer

OlegYch picture OlegYch · Mar 15, 2013

test is using forked jvm. Use javaOptions sbt setting to pass jvm options to it e.g.

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

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