如何在 SBT 测试中自动启动 Amazon DynamoDB Local?
How to start Amazon DynamoDB Local automatically in SBT tests?
我正在尝试 运行 使用 Amazon DynamoDB Local via this plugin: https://github.com/localytics/sbt-dynamodb 的 Scala 测试套件。它有效,但前提是我在命令行 (sbt start-dynamodb-local
) 上手动启动 DynamoDB Local。我希望它在有人在父项目目录中执行 sbt test
时自动启动。根据文档:
To have DynamoDB Local automatically start and stop around your tests
startDynamoDBLocal := startDynamoDBLocal.dependsOn(compile in Test).value
test in Test := (test in Test).dependsOn(startDynamoDBLocal).value
testOptions in Test += dynamoDBLocalTestCleanup.value
但这行不通:
com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to localhost:8000 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
我做错了什么?
我设法通过以下方式解决了它:
- 将插件引用
addSbtPlugin("com.localytics" % "sbt-dynamodb" % "1.4.3")
移动到根项目的 project/plugins.sbt
。
- 用
sbt.Keys.compile
限定 compile
。
我正在尝试 运行 使用 Amazon DynamoDB Local via this plugin: https://github.com/localytics/sbt-dynamodb 的 Scala 测试套件。它有效,但前提是我在命令行 (sbt start-dynamodb-local
) 上手动启动 DynamoDB Local。我希望它在有人在父项目目录中执行 sbt test
时自动启动。根据文档:
To have DynamoDB Local automatically start and stop around your tests
startDynamoDBLocal := startDynamoDBLocal.dependsOn(compile in Test).value test in Test := (test in Test).dependsOn(startDynamoDBLocal).value testOptions in Test += dynamoDBLocalTestCleanup.value
但这行不通:
com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to localhost:8000 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused
我做错了什么?
我设法通过以下方式解决了它:
- 将插件引用
addSbtPlugin("com.localytics" % "sbt-dynamodb" % "1.4.3")
移动到根项目的project/plugins.sbt
。 - 用
sbt.Keys.compile
限定compile
。