mocha.js - 使用 mocha 使用本地 dynamodb 编写测试

标签 mocha.js amazon-dynamodb chai

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

我通常在每次测试前清洁 table 。鉴于没有删除表中所有项目的单个命令(或查询),我该怎么做?

如果我一个一个地删除每个项目,测试就会在所有项目被删除之前开始执行。

最佳答案

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).

关于mocha.js - 使用 mocha 使用本地 dynamodb 编写测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45229344/

相关文章:

relational-database - 我们如何在 Amazon dynamo 数据库和关系数据库之间同步数据

node.js - Mocha beforeEach 超时

javascript - 带有参数的 Chai 测试失败

testing - VUE CLI 3 - 使用 Mocha + webpack 测试单文件组件

node.js - 如何使用 Jest 库测试基本的 socket.io Node.js 应用程序?

amazon-web-services - 如何解决 AWS CloudFormation 不一致的属性 AttributeDefinitions?

php - 400 错误请求响应 : KeyConditionExpression parameter must be specified in the request

javascript - Node.js - Mocha did() 方法在之前的测试中导致错误

javascript - 状态更改后测试 react 组件

javascript - Botium Bindings 完成后运行额外的断言代码