I've created a Config object with a get method to return different strings based on the PROJECT_ENV environment variable. If PROJECT_ENV=test, then Config.get("somePath") returns some/path.csv, otherwise it returns s3a://some_bucket/a_file.csv.
object Config { def test(): Map[String,String] = { Map( "somePath" -> "some/path.csv" ) } def default(): Map[String,String] = { Map( "somePath" -> "s3a://some_bucket/a_file.csv" ) } def get(key: String, env: Option[String] = sys.env.get("PROJECT_ENV")): String = { val lookupMap = if (env == Some("test")) { List(default(), test()).flatten.toMap } else { default() } lookupMap(key) } } With Ruby / RSpec, I set the environment variable in the spec_helper.rb file with ENV['PROJECT_ENV'] = 'test'.
What is the scalatest equivalent of the spec_helper.rb file? How can I set an environment variable in Scala? This answer isn't sufficient.
My test suite runs successfully if I run $ PROJECT_ENV=test sbt test, but I want to simply run $ sbt test.