如何访问 scalatest 中的配置映射值?
How to access config map values in 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)
}
情况是这样的 - 我正在使用 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)
}