在我的项目中,我们实现了自定义的弹性伸缩模块。该模块利用AWS CloudWatch API并使用其自定义逻辑自动扩容/缩容集群。所有这些代码都是用Java + Shell脚本编写的。我们已经使用JUnit编写了单元测试用例。
现在,我们希望自动化功能测试,但我不知道其他人如何执行AWS组件的自动化功能/集成测试以及AWS组件功能测试的最佳实践。
考虑以下场景和预期输出:
场景:基于EC2的Hadoop集群的HDFS利用率超过给定阈值。
预期结果:将新的EBS卷附加到集群中的某个EC2实例。
我想知道哪些技术、语言可以用来做这个场景的功能测试。
发布于 2019-09-27 03:20:06
看看LocalStack吧。通过在本地计算机或Docker中启动与AWS兼容的API,它为开发与AWS相关的应用程序提供了一个易于使用的测试/模拟框架。它支持24种AWS,其中包括EC2和CloudWatch。它真的是一个很棒的功能测试工具,不需要在AWS中使用单独的环境。
至于语言:你可以使用任何语言都有AWS SDK。甚至AWS CLI works with LocalStack也是如此。
如果你是Java/Kotlin和AWS5的幸运用户,我建议你使用aws-junit5,这是一组用于JUnit的JUnit 5扩展。是的,我是它的作者。这些扩展可用于为本地堆栈或任何其他与AWS兼容的API (当然包括真正的AWS )等工具提供的AWS服务注入客户端。同时支持AWS Java SDK v2.x和v1.x。您可以通过can use aws-junit5为S3、DynamoDB、Kinesis、SES、SNS和SQS注入客户端。
https://stackoverflow.com/questions/27356013
复制相似问题