加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么我的导轨测试速度如此之慢?

发布时间:2020-12-16 19:21:56 所属栏目:百科 来源:网络整理
导读:我的测试套件只需要5秒才能启动,这是正常的吗?即使在运行空套件时,它仍然需要很长时间.是因为它在每次运行时都会启动一个新的rails实例吗?如果是这样,反正是否仍然坚持下去? 例: rlepidi@rlepidi:~/projects/rails/my_project$time rake test/usr/bin/ru
我的测试套件只需要5秒才能启动,这是正常的吗?即使在运行空套件时,它仍然需要很长时间.是因为它在每次运行时都会启动一个新的rails实例吗?如果是这样,反正是否仍然坚持下去?

例:

rlepidi@rlepidi:~/projects/rails/my_project$time rake test
/usr/bin/ruby1.9.1 -I"lib:test" "/var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/release_test.rb" 
Loaded suite /var/lib/gems/1.9.1/gems/rake-0.8.7/lib/rake/rake_test_loader
Started

Finished in 0.000181867 seconds.

0 tests,0 assertions,0 failures,0 errors,0 pendings,0 omissions,0 notifications
0% passed

real    0m4.173s
user    0m3.820s
sys 0m0.288s

正如您所看到的,这个空测试非常快,但由于某些原因仍有4秒的开销.我正在使用Test :: Unit和Shoulda.

解决方法

测试速度瓶颈是Rails加载其环境所需的时间.运行脚本/控制台,看看加载到您的环境需要多长时间……它应该是相同的.

一个你有足够大的代码库,有很多插件和宝石,加载时间可高达1分钟!!
如果你像我一样停止运行测试b / c你厌倦了等待30秒只是为了测试一个小的变化,你需要运行像spec_server这样的测试服务器,甚至更好:spork!

您会发现使用spec_server处理类缓存可能存在奇怪的问题,这就是我更喜欢spork的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读