浏览 2044 次
|
锁定老贴子 主题:要什么样的配置才能快速运行测试
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-07-21
p4 2.4G,1G内存,运行rails项目的rake test,一般都需要30秒以上,主要的时间花在*_test库的删除和重新生成上? 到底要什么配置的pc才能快速的运行测试,让测试时间尽量减少。
有什么方便的办法,让test库有选择的重新生成? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-07-21
jack 写道 主要的时间花在*_test库的删除和重新生成上?
主要时间是花在load rails环境上吧,偶用的是rspec,可以用drb的方式运行,速度飞快。 ruby直接带的unit test好像没有这种选项,google "rake test drb"试试看,第一篇就是讲怎样自己写一个: http://d.hatena.ne.jp/urekat/20070404/1175618681 |
|
| 返回顶楼 | |
|
时间:2007-07-21
我在公司的iMac比家里的笔记本快非常多,搞得我都想配个台式机了
iMac: inter duo 2(貌似), 2G内存, 7200转硬盘,10几个migration一秒钟内跑完 笔记本: P4 2.8, 768M内存, 4400转硬盘,好几秒 好像每个test可以指定fixture吧 |
|
| 返回顶楼 | |
|
时间:2007-07-21
我现在的解决办法是把全部的prepare动作都去掉,不过好像也没有飞快的感觉
|
|
| 返回顶楼 | |
|
时间: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 这几个命令并不存在的,有点迷糊了........ |
|
| 返回顶楼 | |
|
时间:2007-07-21
引用 p4 2.4G,1G内存,运行rails项目的rake test,一般都需要30秒以上,主要的时间花在*_test库的删除和重新生成上? 到底要什么配置的pc才能快速的运行测试,让测试时间尽量减少。 有什么方便的办法,让test库有选择的重新生成? 不知道你在什么环境下开发,在linux环境下应该快很多。 还有不一定每次都运行rake test, 你可以在实现代码的过程中运行某个test case, 然后阶段性的运行rake test. |
|
| 返回顶楼 | |
|
时间: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去做持续集成,也就不用担心慢了 |
|
| 返回顶楼 | |
|
时间:2007-07-21
readonly说的对,重建数据库并不慢,慢在载入environment上。建议用rspec的后台server方式或者用zentest,都可以不用干等着。CruiseControl.rb自己用也可以,不过在team里如果自己不做测试就commit统统交给CruiseControl去有干扰其他人之嫌。
|
|
| 返回顶楼 | |













