后续TDD测试是否可以使早期测试过时

时间:2013-12-10 02:41:56

标签: unit-testing testing tdd

我是TDD的新手。

一般例子:

  • 步骤1.创建失败的测试用例 - >测试用例1
  • 步骤2.通过编辑代码(用于填充数据的循环)修复失败的测试用例
  • 步骤3.测试用例1现为绿色
  • 步骤4.创建另一个失败的测试用例 - >测试用例2(在for循环中,现在有if语句)
  • 步骤5.再次修复失败的测试用例
  • 步骤6.测试用例2现为绿色

我的测试用例1已经过时,因为它只检查for循环是否有效。 它将变为红色,因为我将断言等于预期数据,但由于它不会通过if条件(在测试用例1中我未正确设置),预期数据将不可用。

请说清楚。我确定我做的事情非常糟糕。

谢谢。

1 个答案:

答案 0 :(得分:2)

您的测试用例不需要知道您将如何实现它。例如,您不测试是否有循环,但是您测试是否填充了数据。

此外,测试用例不需要只编写一次,在许多情况下,当您实现使旧测试用例无效的功能的新方面时,您将需要编辑以前的测试用例。

在您的特定情况下,您可以编写第一个测试用例,以避免触发if条件,并使第二个测试用例偶尔触发if条件。或者,不是创建第二个测试用例,而是编辑第一个测试用例,以便测试for循环和if条件。