java - 您如何测试针对 AWS API 编写的代码

标签 java testing junit tdd amazon-web-services

我正在用 Java 编写一个将文件上传到 AWS S3 的应用程序。该文件将在参数中提供给应用程序,而不是硬编码。我想编写测试以确保文件实际上传到 S3。测试将在 TDD 代码之前编写。 (实际上我已经编写了代码,但我想将 TDD 实践作为一种习惯融入到我的所有工作中)

我该如何做呢?我将使用 JUnit,因为这是我最熟悉的。

提前感谢您的帮助。

最佳答案

实际上传和正在执行的测试是您的集成测试的一部分,而不是单元测试。如果您将 S3 API 封装在一个非常薄的类中,您将模拟该类以对您的业务类进行单元测试,并且您将使用真正的实现进行集成测试。
如果您已决定,您的 business 类直接采用 AmazonS3 接口(interface),那么对于单元测试,您必须模拟该接口(interface)。

实际的探索性测试(学习和验证)amazon s3 是否以及如何工作是您在单独的实验设置中实际执行的操作。

附:我不建议直接在您的业务类中使用 AmazonS3 接口(interface),而是将其包装在您的瘦接口(interface)中,这样如果您决定更改“后端存储”,您可以轻松更改它。

关于java - 您如何测试针对 AWS API 编写的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247018/

相关文章:

java - 以 Imageview、TextView 和按钮作为项目的自定义 ListView

java - 提取句子中连续单词的正则表达式

c# - Visual Studio 2012 测试类别层次结构(测试资源管理器)

java - JUnit - IllegalArgumentException.class 失败?

java - Junit:断言列表至少包含一个符合某些条件的属性

java - 用于 IntelliJ 多线程测试的 Java 工具

java - 导入java.time无法解析

java - Android 以编程方式制作 CardView

ruby-on-rails - 使用 rspec 调用特定的 url

testing - 在 redux Action 测试中出错