删除或注释掉非工作的JUnit测试?

Chr*_*ght 8 java legacy junit continuous-integration

我目前正在为遗留应用程序构建CI构建脚本.有可用的零星JUnit测试,我将把所有测试的JUnit执行集成到CI构建中.但是,我想知道如何处理我在非维护的JUnit测试中遇到的100'失败.我是:

1)评论它们,因为它们似乎在其中具有合理的,如果没有维护的业务逻辑,希望有人最终取消注释并修复它们

2)删除它们,因为不太可能有人会修复它们,注释掉的代码只会被忽略或者变得杂乱无章

3)追踪那些把这个烂摊子留在我手中的人,并用代码的打印件将其打在头上(由于长方法气味将足以适合任务),同时宣扬维护良好的和单元测试代码库

uth*_*ark 5

如果您使用 Junit 4,您可以使用@Ignore annotation注释该测试。

如果您使用 JUnit 3,您可以重命名测试,这样它们就不会以test.

此外,尝试修复您正在修改的功能的测试,以免代码变得更大。


b.r*_*oth 2

  • 将它们注释掉,以便稍后修复。
  • 生成测试覆盖率报告(例如使用Cobertura )。您注释掉的测试应该涵盖的方法将被指示为测试未涵盖。

  • 无需注释掉任何内容,这就是版本控制的用途。删除它们或@忽略它们。注释掉它们只会留下更多的麻烦。 (3认同)