【发布时间】:2014-04-10 18:58:30
【问题描述】:
我们有 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 版本的测试用例?
我知道估算有点困难,但仍有人尝试升级
你的大应用以及花了多少时间?
考虑到以上所有因素,我们应该遵循哪些最佳策略?
欢迎任何指向相关博客和建议的指针。
提前致谢。
【问题讨论】:
-
现在编写这些测试用例。如果我在某个地方开始工作并且他们的应用程序上没有测试用例,我要做的第一件事就是要求测试覆盖率或找到其他地方工作。从
2.3到3.1的转换是巨大的 与资产管道和添加ActiveRelation等。如果没有测试用例,您将完全没有信心您的应用程序正常运行。
标签: ruby-on-rails ruby unit-testing ruby-on-rails-3.2 rails-3-upgrade