AWS于2026年11月11日宣布AWS Emulator可用于本机和持续集成环境。开发者可把既有AWS SDK或CLI请求指向本地模拟器,在部署到云端之前检查应用调用。
模拟器尚未实现的操作会返回501 Not Implemented。这条边界比“覆盖几乎所有服务”的概括更适合用于测试计划。

本地调用是怎样工作的
AWS表示,开发者继续使用相同的SDK与CLI调用,并用模拟器提供的凭据签名。对已支持的操作,模拟器按有效或无效请求返回相应结果或错误;请求在本地完成,适合缩短开发反馈周期。
本地返回结果不能替代真实云环境的完整验收。测试覆盖率应以模拟器当前实现的具体操作为准。
隔离测试环境有什么变化
每个模拟器实例有自己的端口、密钥和内存状态,因此并行的代理、测试套件或CI任务可各自创建资源。AWS举例说明,可以离线创建DynamoDB表并验证应用逻辑。
资源状态仅保留到模拟器停止。若测试依赖持久数据,需在每次启动时准备数据,而不能把它当作长期数据库。
不支持的API如何识别
对于未实现的操作,明确的501响应可帮助团队区分模拟器能力缺口与应用请求错误。AWS称服务和API模型来自AWS发布的模型,而行为实现会逐次发布补齐与验证。
编写自动化测试时,应把501单独标记为模拟能力限制,不要将其误报为真实AWS服务也不支持该操作。
部署与费用边界是什么
AWS Emulator不依赖AWS区域,使用它本身没有额外服务费用,也不需要AWS账号。真正部署到AWS后,使用的云资源仍按相应服务计费。源码以CC0 1.0公共领域贡献条款发布。
“本地无需账号”不等于生产部署无需权限和费用控制。CI环境应分清模拟凭据与真实部署凭据。
团队可以怎样落地
建议先选取最常用的SDK调用组成测试集,记录成功、错误与501三类结果,再到真实测试账户验证关键路径。对依赖区域、权限、配额和服务集成的用例,应保留云端验证步骤。
验收标准是本地测试能稳定发现应用错误,同时云端关键路径仍通过。模拟器可加快迭代,但不能推断所有云端行为完全一致。


