3

我正在尝试针对 AWS 服务运行集成测试,为此我选择了 moto。因为我在 Java 下执行此操作,所以我想运行 moto_server,并针对这个模拟执行这些测试。我遇到的问题是 moto_server 只允许模拟一项服务。我需要几个。我可以为每个服务提供午餐 moto_server 实例,但这样它不会共享状态(如 EC2 实例或 IAM 角色)。还有另一种方法可以使用 moto_server 模拟多个服务吗?

4

2 回答 2

1

standalone看起来,您不能使用 moto服务器运行多个 AWS 服务。如果您想同时使用 moto 运行服务ec2acm服务,请运行这两个命令,

moto_server ec2 -p 5000 -H 0.0.0.0
moto_server acm -p 5001 -H 0.0.0.0

但是,如果您想要 AWS 的多种服务进行测试,您可以考虑localstack 这里。它声称它在内部使用 moto 和少数其他开源应用程序。虽然它有一些限制,例如 ACM 服务不可用,但少数 AWS API 的实现略有不同。

于 2020-05-06T01:01:05.493 回答
0

根据https://github.com/spulec/moto/issues/4418

您可以通过不传递服务名称来一次使用独立服务器运行所有服务......

moto_server -p 5000 -H 0.0.0.0
于 2021-10-15T18:34:33.827 回答