如何对aws组件进行自动功能测试?

cu6pst1q  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(350)

在我的项目中,我们实现了自定义自动缩放模块。本模块利用 AWS CloudWatch API 并使用其自定义逻辑自动放大/缩小集群。所有这些代码都是用java+shell脚本编写的。我们已经使用junit编写了单元测试用例。
现在我们想自动化功能测试,但我不知道其他人如何对aws组件进行自动化功能/集成测试,以及aws组件功能测试的最佳实践。
考虑以下场景和预期输出:
场景:基于ec2的hadoop集群的hdfs利用率超过了给定的阈值。
预期结果:将新ebs卷附加到群集中的一个ec2示例。
我想知道哪种技术、语言可以用来做这个场景的功能测试。

pdkcd3nj

pdkcd3nj1#

看看localstack。它提供了一个易于使用的测试/模拟框架,通过在本地机器或docker上启动与aws兼容的API来开发与aws相关的应用程序。它支持24个awsapi,ec2和cloudwatch就是其中之一。它确实是一个很好的功能测试工具,无需在aws中使用单独的环境。
至于语言:你可以使用任何有aws sdk的语言。甚至awscli也可以使用localstack。
如果您是java/kotlin和junit5的幸运用户,我建议您使用 aws-junit5 ,一组用于aws的junit5扩展。是的,我是它的作者。这些扩展可用于为localstack或任何其他与aws兼容的api(当然包括真正的aws)等工具提供的aws服务注入客户端。支持aws java sdk v2.x和v1.x。你可以用 aws-junit5 为s3、dynamodb、kinesis、ses、sns和sqs注入客户端。

相关问题