假设你开始了一个自动生成的方法如何将测试代码与生产代码一起重构?
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()
你如何处理这样的事情?你可以用你的生产代码自动重构测试代码吗?日食是否允许这样做?
可能的重复http://stackoverflow.com/questions/3317789/is-it-possible-to-automaticly-rename-the-unit -test-class-when-renaming-the-class – nobeh 2012-03-23 15:15:08
@BehroozNobakht,不是重复的 - 这是关于重命名一个*方法*,这也是从测试中调用的。这是绝对必要的,否则你的测试代码不再编译。重新命名一个测试*类*类似于被测试的类是一个很好的功能,缺少它不会造成任何直接的问题。如果没有它,你的单元测试仍然是编译和运行的,只有更难看到测试类和被测试类之间的逻辑依赖关系。 – 2012-03-23 15:19:13
这是一个关于这个职业的非常好的,深思熟虑的问题,在理想的世界里,我可能会建议程序员的场地。需要考虑的一件事是让自动生成的方法保持完好,因为如果想要“更合适的名称”,那么可以使用类生成来刷新这些方法,并为此做一个包装。但这是一个狭隘的问题;我认为这个问题值得更广泛的讨论。 – hardmath 2012-03-23 15:21:22