仅在类修改后受影响的测试上运行JUnit

时间:2013-03-07 18:54:30

标签: junit

想象一下,你有一个大型项目,有数千个JUnit测试。 让我们说运行所有测试需要7分钟。 当您从ant / maven脚本构建项目时,这看起来很简短。

但是当你使用Eclipse时,你不能经常运行所有的测试,因为7分钟太长了。

所以这是一个问题: 修改某些类时,有没有办法让JUnit只运行可能受类更改影响的测试?

我的意思是,使用类加载器功能听起来可行:在运行每个测试之后,可以知道为此测试加载了哪些类,并在某处(甚至在内存中)存储用于此测试的每个类的签名。

当再次启动Junit时,对于每个测试,它可以检查自上次运行以来该测试使用的类是否已被修改,然后如果没有,并且没有影响测试的类没有启动测试被改变了。 (如果最后一次运行的测试没问题,那就应该没问题了)

有人知道这是否已经完成/已实施?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用Eclipse或IntelliJ中的Infinitest。 (编辑拼写)