仅重新测试使用依赖项重新编译的测试?

时间:2013-05-28 03:25:34

标签: java unit-testing junit

我的测试框架有数百个测试。平均测试需要30秒,所以那里是50分钟。

如果我更改了一个文件,我只需要重新测试依赖项。

我考虑这样做的方法是从版本控制中检出rev0。编译它。然后更新到rev1,然后查看ant开始执行任务后需要重新编译的单元测试,并删除依赖图中的类。

在一个简单的例子中,我刚刚发现我只需要进行2次测试。

我想我可以用文件的哈希来做这件事。这样我就可以做一些很酷的事情,比如调整javadoc而不会引发大量的重新测试。

我可以将HACK放在一起,但我认为在Junit / Ant中没有任何干净的方法可以做到这一点。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

正如评论中所述:如果您的单元测试需要30秒,那么您的测试不是好的单元测试。它们可能根本不是单元测试。你最好重新设计你的测试。

那就是说,我有一个大型的C ++软件系统,有25000个单元,集成和系统测试。它使用make进行构建,使用cppunit进行单元测试。每个模块都有自己的测试套件,为每个模块编写一个报告文件。我设置了make个依赖项,因此只有已更改的模块重新运行其测试。