【问题标题】:How long may Unit tests take in TDD?单元测试在 TDD 中可能需要多长时间?
【发布时间】:2015-02-25 11:33:46
【问题描述】:

我有一个关于 TDD 的一般性问题。

众所周知,测试驱动开发需要大量测试。在最佳实践中,您应该在每次编写新代码后测试您的代码,您可以进行测试。 因此,尽可能快地保持测试是非常合理的。 现在的问题是: 最慢的速度有多慢。我们从分钟区开始吗?秒?什么是最好的? 例如,我有一个测试,它有一个 3x3 测试矩阵。 执行此测试需要几秒钟。 假设总结一下,测试一个包可能需要一天的时间。 这意味着,程序员每天会浪费一个小时等待。

所以问题是: 测试可能需要多长时间?

【问题讨论】:

  • “在最佳实践中,您应该在每次保存后测试您的代码” - 呃,不。当你实现了可以测试的东西时,你就运行测试
  • 好的。是的。也许这句话说得不好。我的意思是,就是这样。你测试,当它有意义的时候。什么时候能给出答案。但是,很多时候,你运行你的测试。

标签: unit-testing tdd


【解决方案1】:

没有最短或最长时间。测试在主观上应该是快速的(快速会因团队和项目而异)。

假设,总结起来,测试一个包可能需要一天的时间。这意味着,程序员每天会浪费一个小时等待。

您的整个测试套件最终会增长到几分钟。这是不可避免的。

但是,您错误地认为每次保存都会运行整个套件。你没有。您只运行与您正在开发的功能相关的测试,实际上通常是对您当前正在编写的类/方法的测试。

当然,您仍然会运行整个套件,但最多一天运行几次,通常是在合并更改或推送到存储库之前。

【讨论】:

  • 我不是 TDD 专家,但我想您可以让您的持续集成系统处理套件范围的测试运行,让您只担心相关测试(正如这个答案所暗示的那样)。
  • 好的!非常感谢。是的,我错误地假设了这一点,因为我已经有错误,其中单个单元确实可以完美运行,但由于竞争条件,它们会陷入僵局。但是 afaikbn,这更多是我的错,因为我写的测试不够好。
猜你喜欢
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 2011-03-14
相关资源
最近更新 更多