我有这个方法:
public bool CanExecute()
在70次提交后,我添加了一个额外的参数
public bool CanExecute(IStation target)
现在的问题是我有7个单元测试,涵盖了测试各种空值/属性组合的CanExecute方法.
添加这个简单的参数需要修复这7个单元测试.修复很简单,但......
是否有最佳实践和/或模式来避免更新单元测试所需的这种手工重构?
假设我知道在不久的将来可能会添加一个额外的参数,我如何对单元测试进行编码以解决这个问题?它只是矫枉过正还是有成语/模式/可以遵循的东西?
编辑:我不能简单地添加一个重载,因为IStation依赖不是可选的.我正在修复一个错误,其中IStation实例是预期的,但没有一个可用,所以它必须通过CanExecute提供...你看.
重构工具似乎是要走的路.谢谢!
你能不能在代码中保留这两种方法吗?除非IStation参数必须为非null,否则您可以在不更改任何现有代码的情况下使用它.
或者,如果参数具有合理的默认值(再次,如null!),resharper可以非常容易地处理这样的更改.要添加新参数,请右键单击函数名称并选择更改签名...从此处可以添加具有合理默认值的新参数.RS将更新所有通话,因此您不必!