【发布时间】:2020-12-22 21:43:02
【问题描述】:
我有一些使用 AWS S3(使用 Java AWS 开发工具包)上传和下载文件的代码。我希望能够为它编写一些测试,我想知道是否有人有任何好的选择。理想情况下,我想要一个本地运行的轻量级 S3 服务器,可以快速启动并且不需要系统配置(测试需要由 Jenkins 运行)。
到目前为止我看过的一些选项:
- FakeS3 - 几乎正是我正在寻找的东西,但是,在使用 Java AWS SDK 时,您必须编辑您的 /etc/hosts 文件并重新启动网络,这在 Jenkins 中是无法做到的。此外,在尝试时,似乎存在创建日期字段格式错误的错误,这使我的客户抛出异常,这并没有激发我对项目的信心。
- Ceph - 实现 S3 API,但需要几分钟才能安装
【问题讨论】:
-
还有Swift3,但是设置起来会更加复杂。也许在 jenkins 之外设置服务器,而不是在测试套件中设置?
-
是的,这是另一种选择,没想到。不过,拥有完全独立的测试要好得多,您不希望为了运行测试而必须通过 VPN 连接到设置了 S3 服务器的网络。
-
为此,我相信在 jenkins 机器中设置 hosts 文件并在 FakeS3 上运行,或者只是模拟 S3 客户端界面,可能是一个更好的解决方案...
-
这是一个相当大的模拟接口,如果可能的话,我宁愿避免使用模拟,因为你最终会将测试与实现联系起来。
-
可能是 s3ninja.net ?
标签: java amazon-web-services jenkins amazon-s3