我被要求为从java类中删除的代码创建单元测试(注意这不是API,所以我不需要弃用代码)。
假设你有一个java类,如下所示,你需要删除一些代码,如下所示:
public class foo extends foobar {
protected void doStuff() {
doMoreStuff();
// Everything below needs to be deleted, including the doStuffToo() method
Object o = null;
doStuffToo(o);
}
public void doMoreStuff() {
boolean a = true;
}
// this method needs to be deleted
public void doStuffToo(Object o) {
o = new Object();
}
}
我认为你应该简单地删除已删除代码的测试用例,但是我被告知我应该编写单元测试以检查是否存在旧代码,如果存在错误的合并未来。
上述示例中的最佳做法是什么?
答案 0 :(得分:3)
希望你有doStuff方法的单元测试。假设你这样做,我会做以下事情:
我很想知道单元测试了什么"检查旧代码的存在"会做什么,他们会提供什么好处。我知道如果留下这样的代码将会发生什么。它将保留在代码库中并变得多余,导致新团队成员混淆,直到几年后明智的人决定将其删除。
无论如何,你的安全网是doStuff测试,希望可以捕获任何合并问题。如果您在源代码管理下进行测试(我希望如此!),那么您可以随时恢复到代码库的先前版本,以便在将来需要时检索已删除的测试。