gpt4 book ai didi

API 单元测试(测试端点与测试一切)

转载 作者:行者123 更新时间:2023-12-04 21:13:46 25 4
gpt4 key购买 nike

我们正在使用 Laravel 构建 API,我们面临一个基本问题:

我们是否应该测试所有内容(每个模型、 Controller 和任何其他类中的每个方法)?或者只是测试 API 端点,因为测试端点意味着将测试其他所有内容,因为 API 端点使用的是 Controller 的方法,而反过来使用的是模型的方法!

事实上,我倾向于后者,即测试端点将帮助您测试其他所有内容,但我需要确保这是正确的做法。

编辑:

考虑以下两点:

  • 测试端点意味着我必须发送一个 HTTP 请求并等待响应以查看它是否是我需要的,这对于这种方法来说可能是非常糟糕的。
  • 测试一切意味着我必须找到某种方法来模拟 laravel 请求及其 header ,这对于这种方法来说可能是非常糟糕的。

  • 任何提示或评论将不胜感激。

    最佳答案

    双方都有争论和支持者。我怀疑关于这个主题的意见与进行任何形式的开发人员测试的开发人员一样多。

    简而言之:

  • 单元测试给您的设计带来了更大的压力。如果您在单元级别进行测试,那么糟糕的代码会造成更大的伤害。
  • 单元测试使您可以更准确地查明问题,因为它们独立地测试每个工作单元。如果单元测试失败,您就知道在哪里查找问题。如果集成测试失败,您就知道有问题,但通常必须开始调试才能找到实际问题。

  • 我喜欢推特用户 @everzet最近使用:

    When they're green, all tests look the same. It's when they're red you see the real difference.



    另一方面,集成测试在重构时提供了更多的自由。如果您仅在 API 级别进行测试,则可以更改整个实现而不影响您的测试。如果您在单元级别进行测试,重构可能意味着您必须更新/重写大量测试。

    关于API 单元测试(测试端点与测试一切),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28850544/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com