0

我们有 Rails 2.3.4(ruby 1.8.7) 应用程序,它很大吗?(300 个模型,21,000 LOC 和 75 个控制器,35,000 LOC),复杂度适中,我们计划将此应用程序升级到 Rails 3.2(或 Rails 4.X )

现在最大的障碍是我们没有一个测试用例!

我在网上搜索,stackoverflow,我确实找到了一些有用的链接,但他们都认为应用程序将具有良好的测试覆盖率但在我们的例子中它不是真的,所以考虑到所有这些,我有以下问题?

  • 我应该升级哪个版本的 Rails 3.X(使用 ruby​​ 1.9.3 或 2?)或 Rails 4.X 和 ruby​​ 2?
  • 每个人都建议采用增量方式(首先是 rails 3,然后是 ruby​​ 1.9,然后是 rails 3.2,然后是 Rails 4)在我们的情况下这真的会有所帮助,因为
    • 由于我们没有测试套件
    • 由于它是一个大型应用程序,每次升级后都会进行大量手动测试,因此在每次升级后每次小的增量更改后重复测试(尽管更改是大测试只能进行一次)是正确的方法吗?
  • 让我们假设即使我们现在编写测试用例(对于 rails 2.3)这些测试会在更新版本上顺利运行吗?还是我们需要在升级的 Rails 版本上编写新的测试用例?

  • 我知道估算有点困难,但仍然有人尝试升级
    您的大应用程序以及花费了多少时间?

考虑到上述所有因素,我们应该遵循哪些最佳策略?

欢迎任何指向相关博客和建议的指针。

提前致谢。

4

2 回答 2

1

如果是我,我会咬紧牙关,现在为 2.3 编写测试。很多会转移,有些不会。编写完成后,将应用程序升级到 4.x,看看有什么问题。然后弄清楚它是代码还是您的测试并相应地进行调整。

没有测试......我没有任何建议:/

于 2014-04-10T21:16:09.217 回答
0

首先,您肯定会使用 Ruby 1.9 升级到 Rails 3。在我们的案例中,我们有一个大型应用程序,从 Ruby 1.8.7 迁移到 1.9 比从 Rails 2.3 迁移到 3.0 的工作量要少得多。我们花了几个月的时间才获得 1.9,但一年多的时间才获得 Rails 3.0

然后升级到带有 Ruby 2.0 的 Rails 4。升级并不容易,但肯定会提高应用程序的性能。

于 2014-07-24T19:20:48.340 回答