论坛首页 Ruby版 rake

要什么样的配置才能快速运行测试

浏览 2042 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-07-21
p4 2.4G,1G内存,运行rails项目的rake test,一般都需要30秒以上,主要的时间花在*_test库的删除和重新生成上? 到底要什么配置的pc才能快速的运行测试,让测试时间尽量减少。
有什么方便的办法,让test库有选择的重新生成?
   
时间:2007-07-21
jack 写道
主要的时间花在*_test库的删除和重新生成上?

主要时间是花在load rails环境上吧,偶用的是rspec,可以用drb的方式运行,速度飞快。
ruby直接带的unit test好像没有这种选项,google "rake test drb"试试看,第一篇就是讲怎样自己写一个:
http://d.hatena.ne.jp/urekat/20070404/1175618681
   
0 请登录后投票
时间:2007-07-21
我在公司的iMac比家里的笔记本快非常多,搞得我都想配个台式机了
iMac: inter duo 2(貌似), 2G内存, 7200转硬盘,10几个migration一秒钟内跑完
笔记本: P4 2.8, 768M内存, 4400转硬盘,好几秒

好像每个test可以指定fixture吧
   
0 请登录后投票
时间:2007-07-21
我现在的解决办法是把全部的prepare动作都去掉,不过好像也没有飞快的感觉
   
0 请登录后投票
时间:2007-07-21
Readonly 写道
jack 写道
主要的时间花在*_test库的删除和重新生成上?

主要时间是花在load rails环境上吧,偶用的是rspec,可以用drb的方式运行,速度飞快。
ruby直接带的unit test好像没有这种选项,google "rake test drb"试试看,第一篇就是讲怎样自己写一个:
http://d.hatena.ne.jp/urekat/20070404/1175618681


文章的说明部分都是日语,不是很明白
是不是这样做

创建script\test_server文件
然后执行 script\test_server test functionals
就行了

t.rb文件是单独用来测试某个test文件的吧?

不过

rake test:server
rake test:server:restart
rake test --drb
rake test:units --drb
rake test:functional --drb
rake test:integration --drb
./script/test
./script/test units
./script/test functional
./script/test integration

这几个命令并不存在的,有点迷糊了........
   
0 请登录后投票
时间:2007-07-21
引用

p4 2.4G,1G内存,运行rails项目的rake test,一般都需要30秒以上,主要的时间花在*_test库的删除和重新生成上? 到底要什么配置的pc才能快速的运行测试,让测试时间尽量减少。
有什么方便的办法,让test库有选择的重新生成?


不知道你在什么环境下开发,在linux环境下应该快很多。
还有不一定每次都运行rake test, 你可以在实现代码的过程中运行某个test case, 然后阶段性的运行rake test.
   
0 请登录后投票
时间:2007-07-21
如果你是运行rake test
则会先执行rake db:test:purge和rake db:migrate
这样会先删除测试数据库然后重建数据库,效率就不高了

单元测试指定测试文件或rake test:recent来运行即可,不可能会慢
要运行rake test或rake test:units或rake test:functional的话,大可以使用CruiseControl.rb去做持续集成,也就不用担心慢了
   
0 请登录后投票
时间:2007-07-21
readonly说的对,重建数据库并不慢,慢在载入environment上。建议用rspec的后台server方式或者用zentest,都可以不用干等着。CruiseControl.rb自己用也可以,不过在team里如果自己不做测试就commit统统交给CruiseControl去有干扰其他人之嫌。
   
0 请登录后投票
论坛首页 Ruby版 rake

跳转论坛:
JavaEye推荐