【问题标题】:Should I mock APIs in end-to-end testing?我应该在端到端测试中模拟 API 吗?
【发布时间】:2022-07-13 05:07:51
【问题描述】:

当您为您的应用程序进行 e2e 测试时,您希望测试整个应用程序,而不是它的某些部分,例如单元测试或集成测试。

但在某些情况下,人们会模拟 API。
例如,当您有一个庞大的微服务作为您的后端时,这使得您的 e2e 测试非常缓慢,或者在您自己的 API 之外,您依赖于其他第三方 API,这使得您的 e2e 测试偶尔会失败。
所以你只想确保你的前端应用运行良好,你应该怎么做?

在我的公司,我们有一个庞大的系统和一个非常庞大的数据库,这使得 e2e 测试非常无效。在这种情况下模拟 API 是否正确?

【问题讨论】:

    标签: testing automated-tests end-to-end


    【解决方案1】:

    我的理解是,如果您只想测试前端应用程序(我认为这不是 E2E 测试),您可以改用单元测试。如果您仍然想从浏览器测试用户界面,那么您可以模拟 API 的响应,但仍然不是 E2E 测试。 如果您想执行端到端测试,则不应模拟任何数据库或 API 调用。 此处的例外是不受您控制的第三方 API。在那种特定情况下,您可以模拟它以在您的测试中减少外部依赖,但如果第三方更改并且您不知道它,您不会注意到它是否被模拟。也就是说,如果您模拟第三方 API,请确保您与 API 提供者保持流畅的通信,以便在您的应用失败之前获得更改警报。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多