记录/恢复DynamoDB状态以进行集成测试

时间:2017-05-06 16:55:52

标签: integration-testing amazon-dynamodb

我想为我的API网关编写集成测试,它使用DynamoDB作为后端。我想知道是否有一个方法/框架/库提供了在测试之前记录DynamoDB状态的灵活性,并在测试后将其恢复到原始状态?

理想情况下,我希望能够在测试开始后跟踪DynamoDB中的更改,并在测试完成后还原所有这些更改。

1 个答案:

答案 0 :(得分:0)

我在测试环境中使用DynamoDB Local,而不是直接对DynamoDB运行测试。这节省了成本和时间。我使用测试框架(RSpec),我可以在运行测试后删除存储在数据库中的任何内容。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

如果您需要针对真正的DynamoDB表运行测试,请查看DynamoDB流+ AWS Lambda。您可以编写一个Lambda函数,该函数是在表中更改项目时触发的。例如,该函数可以将更改的记录存储在另一个表中。测试完成后,它可以启动第二个Lambda函数,该函数将通过更改表并还原原始表中的每个更改。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.Lambda.html