在这个re-factor阶段TDD是否可以一次性破坏多个现有测试。例如,要更改类的构造函数,并且必须修改使用该类的测试。
测试断言测试behaviour代码的性能,但是测试的实现arrange/act实际上是测试代码本身。
我想为了避免破坏多个测试,单元测试应该尽可能干燥,这意味着如果构造函数发生更改(如果可能),则应该需要一次更新。
理想情况下,您应该尝试将测试的设置代码保留在一个公共位置,以便所有测试都可以要求某种类型的实例从“权威来源”进行测试。因此,第一步是重构测试以从共享帮助器方法获取实例,而不是new自行调用。
然后,您可以重构构造函数以接受更多参数。现在,您只有一个地方需要修复。
我经常称这个帮手TestDataFactory。它对对象模型有一定的了解,因此您可以向它询问一个实例Foo,它会返回一个在大多数字段中包含大量有用测试数据的实例。
| 归档时间: |
|
| 查看次数: |
359 次 |
| 最近记录: |