最近我们遇到了从jmockit 0.99915到jmockit 1.21和Java 6到java 7的迁移,在进行了与弃用api和其他事情有关的调整后,我们的测试运行速度比迁移前慢。
在迁移之前,我们的1600集成测试曾经在5-7分钟内运行,现在它们需要15-20分钟,¿有没有人有类似的问题?。
这里有一些注意事项:
- 我知道有更多版本的jmockit,但我们需要使用它。
- 我们的应用程序中有几个模块(36),如果我们只有一个或两个,那么这可能不是问题,但现在我们的构造需要构建几个模块,所以我们与Continuous集成系统上的其他构造重叠我们不是允许这样做。
- 我们的代码或配置都没有改变,只是升级:( Java 6到java 7,Maven 2.2.1到maven 3.3.9,Jmockit 0.99915到1.21)
我们的申请:
- 使用Spring runner运行测试的基于Spring的Web应用程序。
- Junit版本4.10
- 我们有一个内存数据库来运行测试
- 我们正在使用NonStrictExpectations和@Mocked注释来运行我们的测试,一些测试用例的父项扩展到声明模拟字段的位置
- 一些大型测试需要超过30个模拟对象,较小的只需要一两个。