scala - 如何在 Scalatest 中访问配置映射值?

标签 scala command-line-arguments scalatest

这就是情况 - 我正在使用 scalatest 并且我有一个涉及使用数据库的测试。在本地测试时,数据库主机是一个值,在我的测试服务器(jenkins)上测试时,数据库主机是另一个值。我希望能够在调用时将主机指定为命令行参数 sbt test .

看起来 scalatest 允许您传入命令行参数,然后将其存储在配置映射中。我不清楚的是如何从测试内部访问此配置映射值。

最佳答案

使用 withFixture(OneArgTest) (我建议您也阅读文档的其他部分)。稍微适应您的用例(示例使用 FlatSpec ,但其他测试样式基本相同):

class ExampleSpec extends fixture.FlatSpec {

  type FixtureParam = DbConnection

  def withFixture(test: OneArgTest) = {
    val dbUrl = test.configMap.getRequired("dbUrl")
    val dbConnection = // use dbUrl

    try {
      withFixture(test.toNoArgTest(dbConnection))
    }
    finally dbConnection.close()
  }

  "Testing" should "be easy" in { dbConnection =>
    assert(dbConnection.isOpen)
  }

关于scala - 如何在 Scalatest 中访问配置映射值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37864726/

相关文章:

scala - 是否有一个类似于TestNg的scalaTest机制DependOnMethods批注

scala - Liftweb Comet 的优点和缺点是什么?

scala - 在 Akka Streams 中模拟源

scala - 从 Spark 中的稀疏向量创建 LabeledPoint

c# - 执行 System.Diagnostics.Process cmd.exe 仅打开命令提示符,不执行参数

hadoop - 将本地参数传递给 Hadoop 脚本

perl - 如何传递一系列数字(例如 : 100 to 200) as command line argument in Perl?

scala - 在 Scala 中,如何在对该变量的列表进行排序之前将方法应用于变量?

scala - 在 Play Framework 2.4.2 中使用 scalates/specs2 测试 HttpErrorHandler

scala - 无法访问 Scala 中相对路径中的文件以获取测试资源