我们正在考虑转向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下面提供的链接非常有用
答案 0 :(得分:1)
它没有加载RSpec,但它是你感觉的JVM启动时间。
有关详细信息,请参阅https://github.com/jruby/jruby/wiki/Improving-startup-time。