【问题标题】:Test Driven Development with React Context API and RestFul API使用 React Context API 和 RestFul API 进行测试驱动开发
【发布时间】:2021-11-25 10:09:23
【问题描述】:

我想重构我之前创建的复杂过滤,现在我想使用 TDD。 关于最佳实践的问题:

  1. 我正在重构来自 Restful API 的数据。直接使用 API 更好(我可以根据测试需要创建一个模拟数据库)还是使用模拟数据(即 JSON 文件)更好?
  2. 是否可以简单地将 Context API 中的函数和状态导入到测试文件中?

【问题讨论】:

    标签: rest tdd


    【解决方案1】:

    测试驱动开发 (TDD) 是编写测试并将测试用作对被测系统 (SUT) 的批评的过程。编写测试,然后以最简单的方式实现 SUT。

    使用红绿重构流程,在每个红绿阶段之后,您应该考虑 SUT 并考虑可能的改进。

    例如,如果测试本身变得过于复杂,则反馈应该简化 SUT。

    数据过滤通常是pure functions,这意味着它们是trivial to unit test:将适当的输入传递给函数并验证输出是否等于预期输出。

    您不需要涉及真正的服务、测试替身甚至数据文件来执行此操作。

    【讨论】:

    • 谢谢。你的意思是说我不需要数据库的测试文件?
    • @MarcoDisco 我不知道你的具体情况,所以我不能肯定回答,但a filter function 是一个纯函数,所以你唯一需要测试它的就是输入及其相应的预期输出。这些值可以来自任何地方,代码、文件、数据库等,但是为什么让它变得比它必须的更复杂呢?不能在代码中定义数据有什么原因吗?
    • 对不起,那是我的错。我的意思是数据库的过滤系统。所以它不仅仅是一个函数,而是一堆返回所需值的函数。
    • @MarcoDisco 什么是'数据库过滤系统?' 哪个数据库?用什么语言写的?它与由其他函数组成的函数有何不同?
    • 语言是Javascript,框架是React。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多