如何将代码与生产代码一起重构?

时间:2012-03-23 15:08:07

标签: java eclipse junit refactoring

假设您从自动生成的方法开始

public void setKey(Key key) {
    this.key = key;
}

为它编写测试

@Test
public void testSetKey() 

然后从现在起3个月后,您决定该方法的更合适的名称为changeKeyTo。您重构生产代码并最终得到:

public void changeKeyTo(Key key) {
    this.key = key;
}

生活很好,但是,你的考试名称保持不变

@Test
public void testSetKey() 

你如何应对这样的事情?你能用你的生产代码自动重构测试代码吗? eclipse允许这个吗?

2 个答案:

答案 0 :(得分:1)

eclipse 无法改变这一点: 它仅更改其他或同一中使用的方法的引用。
如果你真的想让这个功能发挥作用,你可以扩展 eclipse 重构 API,就像我为我的项目做的那样,给它一个新的功能。
如果你想对此有任何参考,请问我; - )

答案 1 :(得分:0)

大多数具有自动重构支持的IDE也会从测试代码重命名对方法的调用(如果将测试代码保存在同一个项目中,以便IDE可以看到它)。 Eclipse II也能够做到这一点,我最后一次使用它。我现在使用的IntelliJ就是这样做的。