Ruby on rails 更新应用程序的Rails版本

Ruby on rails 更新应用程序的Rails版本,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我目前在一个大型Rails应用程序中工作,遗憾的是,该应用程序没有测试覆盖范围,目前正在Rails版本3中 迁移到Rails 4的最佳方法是什么?我知道最好是在Rails版本上逐步迁移,但应用程序非常大 在这样做之前,我应该投资于测试吗?什么样的测试?单元测试?集成测试?我建议您至少对所有型号和控制器进行rspec单元测试,然后继续升级应用程序 但是如果您升级了,如果没有测试,那么在应用程序中发现任何问题都将是一个问题,因为我们无法预测这是由于升级还是由于编写的代码问题 如果您有非常复杂的视图,

我目前在一个大型Rails应用程序中工作,遗憾的是,该应用程序没有测试覆盖范围,目前正在Rails版本3中

迁移到Rails 4的最佳方法是什么?我知道最好是在Rails版本上逐步迁移,但应用程序非常大


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

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

但是如果您升级了,如果没有测试,那么在应用程序中发现任何问题都将是一个问题,因为我们无法预测这是由于升级还是由于编写的代码问题


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

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

但是如果您升级了,如果没有测试,那么在应用程序中发现任何问题都将是一个问题,因为我们无法预测这是由于升级还是由于编写的代码问题


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

我们的方法是这样的(并且严格遵循指南):

  • 确保我们对所有型号/控制器进行了单元测试
  • 为应用程序中的所有业务关键路径添加集成测试
  • 将strong_params gem添加到应用程序中,查看哪些损坏,修复损坏的东西
  • 在Gemfile中,对于每个具有版本的gem,查看gem依赖项并尝试升级到可能的最新版本(即,删除警告、更新集成、确保测试通过)
  • 升级rails gem——看看有什么问题,修复问题

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

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

  • 确保我们对所有型号/控制器进行了单元测试
  • 为应用程序中的所有业务关键路径添加集成测试
  • 将strong_params gem添加到应用程序中,查看哪些损坏,修复损坏的东西
  • 在Gemfile中,对于每个具有版本的gem,查看gem依赖项并尝试升级到可能的最新版本(即,删除警告、更新集成、确保测试通过)
  • 升级rails gem——看看有什么问题,修复问题

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

    本主题与如何开始使用TDDY无关。你总是无法更新和使用。很有趣。我不知道有这样的事。但到目前为止,我们的预算有点大。无论如何谢谢你!:)对我们来说,最困难但更好的方法是投资于测试。过去有一个免费版本,但看起来他们改变了这一点:-/至于“昂贵”,这取决于你如何看待它。我不知道应用程序、您的公司或要求,所以我很难判断,但假设单个开发人员每月总共花费3000欧元,那么这与20个月的Rails LTS费用相同。编写良好的测试、更新Rails 4以及消除bug对于单个开发人员来说可能需要一个多月的时间(并且假设不会因为bug或站点中断而导致收入损失)。所以,如果你这样说的话,它并没有那么昂贵……这个话题与如何开始使用TDDY无关。你总是无法更新和使用。很有趣。我不知道有这样的事。但到目前为止,我们的预算有点大。无论如何谢谢你!:)对我们来说,最困难但更好的方法是投资于测试。过去有一个免费版本,但看起来他们改变了这一点:-/至于“昂贵”,这取决于你如何看待它。我不知道应用程序、您的公司或要求,所以我很难判断,但假设单个开发人员每月总共花费3000欧元,那么这与20个月的Rails LTS费用相同。编写良好的测试、更新Rails 4以及消除bug对于单个开发人员来说可能需要一个多月的时间(并且假设不会因为bug或站点中断而导致收入损失)。所以如果你这么说的话,就没那么贵了……这正是我想听的。我也在想这个。谢谢,这正是我想听的。我也在想这个。谢谢