为 REST API 编写单元测试的最佳方法是什么?

2024-05-24

在为 API 包装器编写单元测试时,我应该对 REST API 端点进行真正的调用,还是应该使用 mocl 响应来模拟成功和错误的调用?


单元测试意味着只测试你的unit(API 包装器),仅此而已。因此,不幸的是,您应该模拟整个 API。

另一方面,这从来没有真正给我足够的信心,所以我选择系统测试(也称为组件测试)。在这种情况下,您应该针对现有 API 运行 API 包装器,可能会嵌入并与您的测试一起启动。在集成测试最终场景是,您针对真实但最有可能的 API 测试实例(沙箱、开发环境)运行 API 包装器。

在完善的数据库测试领域:单元测试模拟整个 DAO 级别,组件测试针对内存数据库运行,而集成测试则使用一些虚假数据连接到真实数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 REST API 编写单元测试的最佳方法是什么? 的相关文章

  • 网站(Google 和/或您)应如何处理 Accept-Language 标头?

    很长一段时间以来 我对谷歌在以下情况下的行为并不满意 并且在无意中注意到之后80 其他人 https stackoverflow com questions 1011167 what are common ui misconceptions
  • neo4j - python 驱动程序,服务不可用

    我对 neo4j 非常陌生 我正在尝试建立从 python3 6 到 neo4j 的连接 我已经安装了驱动程序 并且刚刚开始执行第一步 导入请求 导入操作系统 导入时间 导入urllib 从 neo4j v1 导入 GraphDatabas
  • Apache Camel 2.14 Rest DSL 安全

    我想使用 Apache Camel 2 14 中新的 Rest DSL 来创建一个 Rest 接口 我想使用 Jetty 组件 并且我有一个如下所示的基本示例设置 Spring安全配置
  • 通过 PayPal REST API 示例获得折扣?

    PayPal GURUS 我需要帮助 如何插入折扣 我使用 REST API 可能是某个 可以显示代码示例吗 有什么方法可以使用 PHP REST API 发送折扣金额吗 目前 REST 支付 API 不支持折扣 您最好的选择是计算您端的折
  • 具有 SQL 代码的 C# 方法上的 Microsoft Fakes(垫片和/或存根)

    我正在尝试更多地了解单元测试 使用开箱即用的功能 我相信它是 MSTest exe 和 Microsoft Fakes 存根和垫片 我正在使用 Visual Studio 2012 Ultimate 和 Net 4 5 Framework
  • 在 Win7 登录屏幕上运行应用程序[重复]

    这个问题在这里已经有答案了 我想通过服务在 Windows 7 的登录屏幕上运行应用程序 我对此进行了长期研究并尝试了不同的方法 但不幸的是到目前为止还没有完全成功 我设法在当前登录用户的锁定屏幕上运行该应用程序 起初我认为这就是我基本上试
  • 在 C 的公共 API 函数中使用枚举参数是个好主意吗?

    我正在设计一个 C API 其中必须提供一种设置一些双值选项的方法 为了识别选项 我使用以下枚举 typedef enum OptionA OptionB Option 使用是一个好主意吗Option作为公共 API 函数中的参数类型 in
  • 模拟比存根更好吗?

    不久前我读到了模拟不是存根 http www martinfowler com articles mocksArentStubs htmlMartin Fowler 的文章 我必须承认我有点害怕外部依赖性增加的复杂性 所以我想问 单元测试时
  • AttributeError:“模块”对象没有属性“TestCase”

    我有名为 test py 的unittest 文件 My code import unittest class Test unittest TestCase def myTest self a 1 self assertEqual a 1
  • 将复杂对象传递到 WCF Rest 服务

    我有一个接受复杂对象的操作合约 并且我通过 jQuery 调用该操作 如何使用 jQuery 传递像这样的复杂类型对象 以下是操作签名 public Resolution CreateNewResolution Resolution New
  • 如何在 RequireJS 中模拟单元测试的依赖关系?

    我有一个要测试的 AMD 模块 但我想模拟它的依赖项 而不是加载实际的依赖项 我正在使用 requirejs 我的模块的代码如下所示 define hurp durp function Hurp Durp return foo functi
  • 嵌入式签名 api 文档签名

    我正在使用 DocuSign 将电子签名添加到我的请求中 一切正常 现在 我使用嵌入式方法发送签名请求 通过导航到 URL 立即启动我的工作流程 登录后 执行以下代码 我得到 嵌入视图 但是当我粘贴网址尝试在导航中签署文档时 但会将我重定向
  • 通过 jquery/javascript 在警报或确认对话框中单击“确定”?

    我正在考虑在backbone js 和jquery 中编写一些UI 测试 它们可能不是最好的方法 但这是我正在考虑的事情 通过纯代码自动化测试而无需记录和回放 使用这种方法唯一让我摸不着头脑的是 在某些 用例流程 执行的 中 会出现确认 警
  • 如何确定我们是否正在 Dart (Flutter) 中运行单元测试

    在 Flutter Dart 中从单元测试调用函数时 如何确定我正在运行单元测试还是实际应用程序 如果在单元测试中 我想传递不同的数据 您可以使用以下内容来检查您是否正在运行测试 Platform environment containsK
  • 使用最小起订量模拟第 3 方回调事件

    我们一直在尝试为用 C 编写的工作类编写单元测试 该类使用 moq 模拟第三方 API 基于 COM 来动态创建模拟对象 NUnit 是我们的单元测试框架 这个第三方组件实现了几个接口 但还需要使用事件回调到我们的工作类 我们的计划是模拟这
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 在 junit 测试中获取 javax.lang.model.element.Element 类

    我想测试我的实用程序类 ElementUtils 但我不知道如何将类作为元素获取 在 AnnotationProcessors 中 我使用以下代码获取元素 Set
  • 该Web容器尚未启动@Glassfish 4.0.01 web

    所以 这就是我对我的服务进行 REST 调用后得到的结果 2014 04 25T01 06 52 393 0200 glassfish 4 0 WARNING javax enterprise web tid ThreadID 21 Thr
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 如何启用 vstest.console.exe 日志记录?

    我试图查看在 Visual Studio 2013 中运行测试时究竟执行了什么 vstest 命令 如何启用 vstest console exe 日志记录 执行的命令是带有相关参数的 VSTest Console exe 当您运行测试时

随机推荐