7个版本
0.2.2 | 2022年12月11日 |
---|---|
0.2.1 | 2022年12月11日 |
0.1.3 | 2022年12月11日 |
#462 in 测试
每月 26次下载
16KB
319 行
DynamoDB测试器
警告!此Crate已弃用。我意识到,我真正需要的是一个可以在不同环境中使用的连接器,例如dev/test/staging/prod。请使用dynamodb-tools代替。
由于AWS提供了DynamoDB本地,我们可以在测试中利用它。然而,管理dynamodb客户端和表是繁琐的,我们需要在每次测试结束时清理,以免污染其他测试。这个Crate将帮助您创建具有唯一名称的表,然后在测试结束后拆除它们(如果需要,可以使用Drop特性)。
使用方法
首先,您需要自行下载并运行dynamodb本地。例如,我将它解压到~/bin/dynamodb_local_latest,因此我可以这样启动它
$ java -Djava.library.path=~/bin/dynamodb_local_latest/DynamoDBLocal_lib -jar ~/bin/dynamodb_local_latest/DynamoDBLocal.jar -inMemory -sharedDb
您可以将其作为服务,以便在系统启动时自动启动。
在您的测试代码中,您可以使用它如下
// first, create the LocalClient
use dynamodb_tester::LocalClient;
let lc = LocalClient::try_new(8080, "users", None).await?;
let (client, table_name) = lc.inner();
// then you could use the returned client & table_name
// to interact with dynamodb local.
let ret = client
.put_item()
.table_name(table_name)
.set_item(Some(item))
.send()
.await?;
如果您想将其与github action集成,可以使用此操作
- name: Setup DynamoDB Local
uses: rrainn/[email protected]
with:
port: 8000
cors: '*'
有关更多详细信息,请参阅build.yml
依赖项
~21–35MB
~579K SLoC