【发布时间】:2022-04-07 09:09:02
【问题描述】:
我正在使用来自 aws-sdk v3 的用于 javascript 的 Amazon DynamoDB 包。
这是我遵循的文档:https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/dynamodb-examples.html
我已经安装了“@aws-sdk/client-dynamodb”包来从代码中执行 CRUD 操作。
我以这种方式从包中导入命令:
import { DynamoDBClient, PutItemCommand, DeleteItemCommand, UpdateItemCommand, GetItemCommand } from "@aws-sdk/client-dynamodb";
const dynamodbClient = new DynamoDBClient({ region: process.env.DYNAMODB_REGION, endpoint: process.env.DYNAMODB_ENDPOINT });
const result = await dynamodbClient.send(new PutItemCommand(params));
我曾尝试按照 Jest 文档模拟 Amazon DynamoDB,但它在本地调用真正的 Amazon DynamoDB。
如何在 Nodejs 中模拟这些“@aws-sdk/client-dynamodb”包?
请提供Nodejs中的示例!
【问题讨论】:
-
如果您想为此编写单元测试用例,您需要在 dynamoDb 上构建一个包装器并模拟该包装器层。实现该包装层的一种方法是构建存储库模式。模拟 Dynamodb 并非不可能,但模拟您自己的包装层会容易得多。
标签: node.js amazon-web-services amazon-dynamodb aws-sdk