Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 后续TDD测试是否可以将早期测试作废_Unit Testing_Testing_Tdd - Fatal编程技术网

Unit testing 后续TDD测试是否可以将早期测试作废

Unit testing 后续TDD测试是否可以将早期测试作废,unit-testing,testing,tdd,Unit Testing,Testing,Tdd,我是TDD的新手 一个通用示例: 第一步。创建失败的测试用例->测试用例1 第二步。通过编辑代码修复失败的测试用例(对于填充数据的循环) 第三步。测试用例1现在是绿色的 第四步。创建另一个失败的测试用例->测试用例2(在for循环中,现在有if语句) 第五步。再次修复失败的测试用例 第六步。测试用例2现在是绿色的 我的测试用例1变得过时了,因为它只检查for循环是否工作。 它将变为红色,因为我将断言等于预期数据,但由于它不会通过if条件(在测试用例1中,我没有正确设置该条件),预期数据将不可

我是TDD的新手

一个通用示例:

  • 第一步。创建失败的测试用例->测试用例1
  • 第二步。通过编辑代码修复失败的测试用例(对于填充数据的循环)
  • 第三步。测试用例1现在是绿色的
  • 第四步。创建另一个失败的测试用例->测试用例2(在for循环中,现在有if语句)
  • 第五步。再次修复失败的测试用例
  • 第六步。测试用例2现在是绿色的
我的测试用例1变得过时了,因为它只检查for循环是否工作。 它将变为红色,因为我将断言等于预期数据,但由于它不会通过if条件(在测试用例1中,我没有正确设置该条件),预期数据将不可用

请给我点光。我肯定我做错了什么


多谢各位

您的测试用例不需要知道如何实现它。例如,您不测试是否有一个循环,而是测试数据是否已填充

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

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