gpt4 book ai didi

unit-testing - 梅克和测试驱动开发工作流程?

转载 作者:行者123 更新时间:2023-11-28 20:05:00 26 4
gpt4 key购买 nike

据我所知,TDD的典型工作流程(W1)如下:

  1. 开发功能测试;
  2. 运行测试并观察它是否失败;
  3. 开发功能;
  4. 再次运行测试并观察它通过;
  5. 重复 1。

但是对于 Meck 和其他模拟框架,工作流 (W2) 可能如下所示:

  1. 为所有功能编写测试并观察它们失败;
  2. 在模拟对象的帮助下开发一个完整的系统原型(prototype)(所有功能及其交互);
  3. 再次运行测试并观察它们是否通过;
  4. 逐步将每个模拟功能更改为真实功能。

我倾向于认为W2比W1有一些优势:

  • 书写速度更快;
  • 更容易集成,因为所有测试(包括单元测试和集成测试)都将提前编写;他们也会从一开始就过去;

所以,问题是:

W2真的有上述优势吗?如果不是,我如何将 Meck 作为既定程序纳入我的日常开发中,即使用它的工作流程是什么?还是我应该在没有任何指导的情况下随意使用 Meck?

最佳答案

您不能单独使用模拟来使测试通过。如果可能的话,要么你的测试名不副实,要么你不需要用“真实”代码替换模拟,因为模拟已经做了你想让代码做的事情。

模拟通常用于隔离被测系统 (SUT),即您要测试的类与其依赖项。依赖项被模拟,SUT 不是。

关于unit-testing - 梅克和测试驱动开发工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12085746/

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