簡體   English   中英

如何在 Java 中模擬 AWS SDK2 (S3)

[英]How to mock AWS SDK2 (S3) in Java

所以我想模擬 AWS SDK 2.x(僅限 S3 服務),以便在沒有真正 AWS 的情況下測試上傳和下載文件到存儲桶。 我正在尋找 Java 實現。

我發現了很多實現(Adobe S3Mock ...等),但它們都使用AWS SDK 1.x。

您不應該自己重新實現 S3 API。 相反,使用現有工具之一,如localstackMinIOOpenStack Swift等。 它們都提供與 S3 兼容的 API(盡管可能會有一些差異)。 最好的測試是 localstack,恕我直言。它可以作為Docker 鏡像使用,因此您可以在本地或在您的 CI 管道中使用它。

不是你問題的Java部分。 如果您是 JUnit 5 的幸運用戶,我建議您使用aws-junit5 ,這是一組適用於 AWS 的 JUnit 5 擴展。 而且,是的,我就是它的作者。 這些擴展可用於為 localstack 等工具提供的 AWS 服務注入客戶端(實際上,支持任何與 AWS 兼容的 API,包括真正的 AWS 本身)。 支持 AWS Java SDK v 2.x 和 v 1.x。 您可以使用aws-junit5為 S3、DynamoDB、Kinesis、SES、SNS 和 SQS 注入客戶端。

用戶指南中閱讀更多內容,它甚至有一個關於使用 GitLab 配置 CI的部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM