scala – 在sbt中为测试配置设置默认的env变量
发布时间:2020-12-16 18:43:09 所属栏目:安全 来源:网络整理
导读:在我的应用程序中,我有基于SCALA_ENV变量的运行时配置初始化 在build.sbt中,我需要检查是否设置了SCALA_ENV var,如果没有设置为“test”但是仅用于测试配置,那么当 sbt test 在开发人员计算机上本地运行而不显式设置SCALA_ENV它将始终使用测试环境配置 我试
在我的应用程序中,我有基于SCALA_ENV变量的运行时配置初始化
在build.sbt中,我需要检查是否设置了SCALA_ENV var,如果没有设置为“test”但是仅用于测试配置,那么当 sbt test 在开发人员计算机上本地运行而不显式设置SCALA_ENV它将始终使用测试环境配置 我试过了 fork in test := true envVars in Test := Map("SCALA_ENV" -> "test") 然后在测试的某个地方 System.getenv("SCALA_ENV") 但它总是返回null … 解决方法
我不能像你所描述的那样转载你的问题:
//build.sbt name := "test-env" version := "1.0" scalaVersion := "2.11.8" fork in Test := true envVars in Test := Map("SCALA_ENV" -> "test") libraryDependencies ++= Seq("org.scalactic" %% "scalactic" % "2.2.6","org.scalatest" %% "scalatest" % "2.2.6" % "test") 和测试代码: import org.scalatest.FlatSpec class TestEnv extends FlatSpec { it should "get the correct env var value" in { assert("test" === System.getenv("SCALA_ENV")) } } 如果我用sbt测试运行它,它会通过.注意,我使用sbt 0.13.8,所以如果你的版本不同,你可能会遇到一些疯狂的bug.当我从IntelliJ Idea运行它时 – 它失败了,并且毫无疑问为什么 – IDE使用自己的测试运行器并跳过sbt.作为解决方法,您可以在运行/调试配置中设置变量 – >环境变量窗口. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |