2013-03-07 47 views
3

想象一下,您有一个大型项目,其中包含数千个JUnit测试。 让我们说运行所有的测试需要7分钟。 从ant/maven脚本构建项目时,这看起来很短。仅在经过类修改后受影响的测试上运行JUnit

但是,当您使用Eclipse时,您无法经常运行所有测试,因为7分钟时间太长。

因此,这里的问题: 当你修改了一些类,是有办法让JUnit的运行只测试是可能已被放入系统级变化的影响?

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

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

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

回答

1

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