PROJECT_ENV
환경 변수를 기반으로 다른 문자열을 반환하는 get 메소드로 Config 객체를 만들었습니다. PROJECT_ENV=test
인 경우 Config.get("somePath")
은 일부/path.csv를 반환하고, 그렇지 않으면 s3a : //some_bucket/a_file.csv를 반환합니다. 루비/RSpec에와스칼라/SBT 테스트 스위트를 실행할 때 환경 변수 설정
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)
}
}
, 나는 ENV['PROJECT_ENV'] = 'test'
으로 spec_helper.rb
파일에서 환경 변수를 설정하십시오.
spec_helper.rb
파일의 스칼라 테어는 무엇입니까? Scala에서 환경 변수를 설정하려면 어떻게해야합니까? This answer은 충분하지 않습니다.
$ PROJECT_ENV=test sbt test
을 실행하면 내 테스트 제품군이 성공적으로 실행되지만 단순히 $ sbt test
만 실행하고 싶습니다.
왜 sbt 내에 환경 변수를 설정 하시겠습니까? 응용 프로그램에서 사용 하시겠습니까? –