正在更新应用程序的 Rails 版本

Updating Rails version of an application

我目前在一个大型 Rails 应用程序中工作,遗憾的是它没有测试覆盖率,目前使用的是 Rails 的第 3 版。

迁移到 Rails 4 的最佳方法是什么?我知道在Rails版本上一步步迁移比较好,但是应用很大

我应该在这样做之前投资测试吗?什么样的测试?单元测试?集成测试 ?

我建议您对所有模型和控制器至少进行 rspec 单元测试,然后继续升级应用程序。

但是如果不进行测试,如果您进行升级,那么很难在应用程序内部发现任何问题,因为我们无法预测它是由于升级还是由于编写的代码出现问题。

如果你有非常复杂的视图,比如计算或显示一些重要信息,那么最好也编写集成测试,否则就没有必要了。

我们的方法是这样的(并且虔诚地遵循 this 指南):

  1. 确保我们对所有 models/controllers
  2. 进行单元测试
  3. 为应用中的所有业务关键路径添加集成测试
  4. 将 strong_params gem 添加到应用程序,看看有什么问题,修复问题
  5. 在 Gemfile 中,对于每个 gem 版本,查看 gem 依赖项并尝试升级到可能的最新版本(即删除警告、更新集成、确保测试通过)
  6. 升级 rails gem -- 看看有什么问题,解决问题

您会注意到,在指南中,他们钻研的第一件事是测试覆盖率。听起来这可能是您最好的起点。