在我的项目中,我们实现了自定义自动缩放模块。此模块利用AWS CloudWatch API
并使用其自定义逻辑自动扩展/缩小群集。所有这些代码都是用Java + Shell脚本编写的。我们使用JUnit编写了单元测试用例。
现在我们想要自动化功能测试,但我不知道其他人如何对AWS组件进行自动功能/集成测试以及AWS组件功能测试的最佳实践。
考虑以下场景和预期输出:
场景:基于EC2的Hadoop集群的HDFS利用率高于给定的阈值。
预期结果:将新的EBS卷附加到群集中的一个EC2实例。
我想知道哪种技术,语言可用于对这种情况进行功能测试。
答案 0 :(得分:0)
看看LocalStack。它提供了一个易于使用的测试/模拟框架,用于通过在本地计算机或Docker中启动与AWS兼容的API来开发与AWS相关的应用程序。它支持两种AWS API,其中包括EC2和CloudWatch。确实是功能测试的绝佳工具,无需为此在AWS中使用单独的环境。
至于语言:您可以使用任何具有AWS开发工具包的语言。甚至AWS CLI works with LocalStack。
如果您是Java / Kotlin和JUnit 5的幸运用户,我建议您使用aws-junit5
,这是AWS的一组JUnit 5扩展。而且,是的,我是作者。这些扩展可用于为由诸如localstack或任何其他与AWS兼容的API(当然包括真正的AWS)之类的工具提供的AWS服务注入客户端。同时支持AWS Java SDK v 2.x和v1.x。您can use aws-junit5
为S3,DynamoDB,Kinesis,SES,SNS和SQS注入客户端。