在Windows上jruby下的rspec测试运行速度非常慢

时间:2011-12-07 16:21:48

标签: ruby windows testing rspec jruby

我们正在考虑转向jruby,并且正在研究测试方法和框架。我一直在我的本地开发机器上测试rspec,并且发现使用2种非常简单的方法为单个类运行2次测试所花费的总时间是7-8秒。简单来说,我的意思是一个setter,一个返回true。

rspec输出显示测试大约在2秒内运行,因此加载和初始化rspec的总时间为5-6秒。我正在使用

从命令行运行
C:\rubycode\rspec_tutorial>rspec --profile user_spec.rb
..

Top 2 slowest examples:
  User User should NOT be in any roles not assigned to it
    0.023 seconds ./user_spec.rb:15
  User User should be in any roles assigned to it
    0.006 seconds ./user_spec.rb:10

Finished in 2 seconds
2 examples, 0 failures

我正在运行jruby 1.6.5和rspec 2.7.1

我已阅读此帖,Faster RSpec with JRuby 但是它已经超过1.5年了,答案与运行测试套件相关,而不是在本地进行少量测试的短时间爆发以帮助TDD ,这就是我们想要开发的方式。在线下,我们将合并CI服务器。

我的问题是,这是预期的执行时间吗?有没有办法加速在JRUBY本地开发机器上运行rspec测试?

编辑:

最大的性能提升是从64位“服务器”JVM切换到32位“客户端”模式。我看到进行简单测试所花费的时间缩短了40%。我的Nailgun也开始运行,但性能各不相同。 banzaiman下面提供的链接非常有用

1 个答案:

答案 0 :(得分:1)

它没有加载RSpec,但它是你感觉的JVM启动时间。

有关详细信息,请参阅https://github.com/jruby/jruby/wiki/Improving-startup-time