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

仅在类修改后受影响的测试上运行JUnit,junit,Junit,假设您有一个大型项目,包含数千个JUnit测试。 假设运行所有这些测试需要7分钟。 当您从ant/maven脚本构建项目时,这看起来很短 但是当您使用Eclipse时,您不能经常运行所有的测试,因为7分钟的时间太长了 问题是: 当您修改某些类时,是否有办法让JUnit只运行可能受到这些类更改影响的测试? 我的意思是,使用classloader特性听起来是可行的:在运行每个测试之后,可以知道哪些类已经为这个测试加载,并将用于这个测试的每个类的签名存储在某个地方(甚至在内存中) 当Junit再次启动

假设您有一个大型项目,包含数千个JUnit测试。 假设运行所有这些测试需要7分钟。 当您从ant/maven脚本构建项目时,这看起来很短

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

问题是: 当您修改某些类时,是否有办法让JUnit只运行可能受到这些类更改影响的测试?

我的意思是,使用classloader特性听起来是可行的:在运行每个测试之后,可以知道哪些类已经为这个测试加载,并将用于这个测试的每个类的签名存储在某个地方(甚至在内存中)

当Junit再次启动时,对于每个测试,它可以检查自上次运行以来此测试使用的类是否已被修改,如果测试正常,并且没有影响测试的类被更改,则不启动测试。(如果上次运行测试正常,则应正常)

有人知道这是否已经完成/实现了吗?

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