Ruby on rails 如何在windows上加速RubyonRails测试?
我已经开始学习使用运行在Windows7上的RubyonRails,运行测试的时间很痛苦,我想知道我是否可以加快速度。 现在,我正在使用默认的测试框架(继承自ActionController),以及一个SQLite数据库和webrick web服务器 虽然单元测试和功能测试报告的运行时间不到2秒,但从我从命令行运行测试到完成测试的时间实际上是40秒 一位朋友建议我使用警卫。这看起来有助于在我保存后尽快启动测试,但实际成本似乎是启动Web服务器或数据库。我想知道是否最好设置apache或mysql并在本地使用它们 不管怎样,人们有什么建议来加速windows上的RubyonRails测试?我尝试在AmazonEC2LinuxMicro实例上运行测试(同样使用webrick和sqlite),启动时间很长(尽管我没有计时) 我试过“耙测试——跟踪”。有一个明显的停顿:Ruby on rails 如何在windows上加速RubyonRails测试?,ruby-on-rails,windows,Ruby On Rails,Windows,我已经开始学习使用运行在Windows7上的RubyonRails,运行测试的时间很痛苦,我想知道我是否可以加快速度。 现在,我正在使用默认的测试框架(继承自ActionController),以及一个SQLite数据库和webrick web服务器 虽然单元测试和功能测试报告的运行时间不到2秒,但从我从命令行运行测试到完成测试的时间实际上是40秒 一位朋友建议我使用警卫。这看起来有助于在我保存后尽快启动测试,但实际成本似乎是启动Web服务器或数据库。我想知道是否最好设置apache或mysql
- 紧靠第一行输出之前
- 在输出“Execute environment”和“Execute db:abort_if_pending_migration”之间
- 在“执行测试:单元”和“运行选项”之间: 第一次停顿似乎更糟
如果在Windows上运行rails确实是一个瓶颈,那么您可以使用运行虚拟机,运行Ubuntu实例,并在VM中处理rails项目 运行单元和函数不需要启动任何Web服务器。试着运行
rake测试--trace
,看看你是否能找出它挂在什么地方,我运行了跟踪并记录了暂停发生的位置。仅供参考,我给gemspork-rails
的一位老维护人员发了电子邮件,他们告诉我改用spring
。@KaMok谢谢,但似乎spring
不支持Windows。从文档Spring大量使用Process.fork,因此无法在不支持forking的平台(Windows、JRuby)上提供加速。
是的,我意识到了。我现在没有使用任何东西来加速我的测试,做TDD是相当痛苦的。围绕这个主题搜索了几个月。@KaMok我想研究一下如何使用虚拟机或docker。我自己在Mac上做rails工作,这很好。谢谢你的建议。事实上,我今天不得不在我的Windows10机器上工作,rails在rails 5上启动得非常快。我在上面做了一个stackoverflow线程,因为我不太理解它。我在Windows7上的时间从17秒增加到Windows10上的5秒。