TDD:在新类中进行重构

时间:2018-09-20 16:15:40

标签: tdd

我上过很多红绿循环的课程,上面有测试。 我看到这门课很重要,要做不同的任务。

现在我要重构它……重构后,我有3个类,覆盖率仍为100%,所有测试仍为绿色。

但是问题是,我要对“旧的大类”中的两个新类进行测试,我现在应该拆分测试吗?还是应该在重构类中的代码之前为每个类编写额外的测试?

1 个答案:

答案 0 :(得分:2)

  

我现在应该拆分测试吗?

“重构”的快速含义-您的测试无需更改。公用API和实现的可观察行为均未更改。您刚刚在实现中创建了一些新的模块边界。

(如果您所做的更改迫使您修改现有测试,则您正在执行的活动不是“重构”。)

由于公共API尚未更改,因此现有测试仍然具有价值-它们描述了原始API所需的行为。因此,您不应该“拆分”这些测试。

如果要将重构期间创建的新类引入公共API中,则应该为新的公共API引入新的测试。

您对原始API的现有测试将保持不变,直到您宣布API的寿命终止,已弃用并达到寿命终止截止日期为止。此时,您可以删除旧API的测试。