使用mocha用本地dynamodb编写测试

我正在使用Dynamodb进行api服务.我开始编写测试,发现没有命令(或查询)破坏表中的所有“项”.我正在使用vogels访问dynamodb.

我经常在每次测试前清理桌子.鉴于没有删除表中所有项的单个命令(或查询),我该怎么做?

如果我逐个删除每个项目,测试将在删除所有项目之前开始执行.

最佳答案 CRUD操作在DynamoDB中是原子操作.没有可用于删除DynamoDB表中所有项目的API.

解决方案1:

建议的最佳解决方案是删除表并重新创建它.

解决方案2:

将batchWriteItem与DeleteRequest一起使用可以一次删除多个项目.批量写入的最大请求数为25个项目.

等待:-

执行删除表后,请等待资源不可用.同样,在执行create table之后,您需要等到资源可用.

var params = {
  TableName: 'STRING_VALUE' /* required */
};
dynamodb.waitFor('tableNotExists', params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

Waits for the tableNotExists state by periodically calling the
underlying DynamoDB.describeTable() operation every 20 seconds (at
most 25 times).

点赞