3

我已经开始学习使用在 Windows 7 上运行的 Ruby on Rails,运行测试的时间很痛苦,我想知道是否可以加快速度。现在我正在使用默认的测试框架(继承自 ActionController),带有 SQLite 数据库和 webrick Web 服务器。

虽然单元和功能测试报告的运行时间不到 2 秒,但从我从命令行运行测试到完成实际上是 40 秒。

朋友推荐我使用guard。看起来它会在我保存后立即开始测试,但看起来真正的成本是启动网络服务器或数据库。我想知道设置 apache 或 mysql 并在本地使用它们是否会更好。

无论如何,人们有什么技巧可以加快 Windows 上的 ruby​​ on rails 测试?我尝试在 Amazon EC2 linux 微型实例上运行测试(再次使用 webrick 和 sqlite),并且启动时间很长(尽管我没有计时)。

我试过“rake test --trace”。有一个明显的停顿:

  • 在第一行输出之前
  • 在输出“执行环境”和“执行 db:abort_if_pending_migrations”之间
  • 在“执行测试:单元”和“运行选项:”之间

    第一次停顿似乎更糟。

4

1 回答 1

1

你最好的选择是使用现在在 Windows 中工作的spork 。它通过预先填充就绪进程池(称为“杂志”策略)在 Windows 上运行。结果是网络服务器启动时间大大减少。

如果在 Windows 上运行 rails 确实是瓶颈,那么您可以使用VirtualBox运行虚拟机并运行 Ubuntu 实例并在 VM 中处理您的 rails 项目。

于 2012-07-14T22:44:24.370 回答