2015-05-22 50 views
3

我们在使用Spock的600个常规文件中进行了大量测试。 所有测试类都从AbstractSpecification.groovy扩展而来,它有很多注入的Service-Classes以及许多使用这些类的帮助器方法(Spring,Autowired)。很多spock测试会导致编译时间很长

我们使用Eclipse,和每一个变化的抽象类,当然会导致重新编译(大厦工作区,调用Maven项目生成器)。但在开发过程中,这种重新编译变得越来越慢。现在有600个测试,我们必须等待。在eclipse完成之前14分钟,使测试项目几乎不可用。

我认为,有很多与抽象类测试是没有什么不寻常的,所以我想知道如果使用斯波克人遇到同样的问题。我改变了Groovy版本,插件版本,但没有任何帮助。只减少测试类的数量。

任何想法?提前致谢!

技术数据: - Eclipse的开普勒SR2,Groovy的Eclipse的+编译器插件2.9.1,Groovy的2.0.7,斯波克版本0.7 Groovy的2.0

+2

你有没有做过任何分析,看看是什么导致减速(除了大量的测试)?此外,这个性能问题只存在于IDE中,还是在正常构建(ant,maven,gradle等)过程中发生? – cjstehno

+0

Maven构建在40秒内完美运行(mvn clean install -DskipTests)..它还使用Groovy-Eclipse编译器编译Java和Groovy文件。所以它与Eclipse-Groovy-Plugin有关,对吧? jvisualvm在冻结期间通过类进行搜索时分配了大量的资源。 – Markes

+0

当你不跳过测试时,Maven构建需要多长时间? – cjstehno

回答

0

最后,我们已经翻译所有的Groovy测试Java的。通过大量测试,性能分析等,这是我们发现的唯一解决方案。这留下了苦涩的味道,因为Groovy有很多优点,但给我们造成了很多麻烦。