当前位置:  开发笔记 > 编程语言 > 正文

重构参数和单元测试

如何解决《重构参数和单元测试》经验,为你挑选了1个好方法。

我有这个方法:

public bool CanExecute()

在70次提交后,我添加了一个额外的参数

public bool CanExecute(IStation target)

现在的问题是我有7个单元测试,涵盖了测试各种空值/属性组合的CanExecute方法.

添加这个简单的参数需要修复这7个单元测试.修复很简单,但......

是否有最佳实践和/或模式来避免更新单元测试所需的这种手工重构?

假设我知道在不久的将来可能会添加一个额外的参数,我如何对单元测试进行编码以解决这个问题?它只是矫枉过正还是有成语/模式/可以遵循的东西?

编辑:我不能简单地添加一个重载,因为IStation依赖不是可选的.我正在修复一个错误,其中IStation实例是预期的,但没有一个可用,所以它必须通过CanExecute提供...你看.

重构工具似乎是要走的路.谢谢!



1> Jennifer..:

你能不能在代码中保留这两种方法吗?除非IStation参数必须为非null,否则您可以在不更改任何现有代码的情况下使用它.

或者,如果参数具有合理的默认值(再次,如null!),resharper可以非常容易地处理这样的更改.要添加新参数,请右键单击函数名称并选择更改签名...从此处可以添加具有合理默认值的新参数.RS将更新所有通话,因此您不必!

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有