如何在 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

我做错了什么?

我设法通过以下方式解决了它:

  1. 将插件引用 addSbtPlugin("com.localytics" % "sbt-dynamodb" % "1.4.3") 移动到根项目的 project/plugins.sbt
  2. sbt.Keys.compile 限定 compile