[英]How to mock AWS SDK2 (S3) in Java
所以我想模擬 AWS SDK 2.x(僅限 S3 服務),以便在沒有真正 AWS 的情況下測試上傳和下載文件到存儲桶。 我正在尋找 Java 實現。
我發現了很多實現(Adobe S3Mock ...等),但它們都使用AWS SDK 1.x。
您不應該自己重新實現 S3 API。 相反,使用現有工具之一,如localstack 、 MinIO 、 OpenStack 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.