验证Ruby on Rails应用程序

问题描述:

当谈到web开发时,我非常习惯ASP.Net和Java世界。尽管过去我已经完成了一些PHP,但是我发现正在开发一个jRuby on Rails项目,并且有大量开发人员在两个人重构相同区域时偶尔意外崩溃。验证Ruby on Rails应用程序

因此,一个人将MethodA重命名为MethodB,而其他人引用MethodA在检入之前不更新。然后,我们没有找到MethodA的参考,直到有人再次专门运行该测试场景。

当然,我们试图尽可能多地使用rspec和测试客户端的第三方应用程序进行自动化测试,但有没有办法几乎“编译”或“验证”rails应用程序以确保所有的代码路径是否正确,没有错误的引用,错误的类型等等,就像一个典型的编译框架一样?

谢谢!

编辑:为了澄清,我理解测试和更新不能总是使变量或方法意外地被重命名为动态语言时才知道。我本质上是在寻找一种方法来验证jRuby on Rails应用程序,以确保没有任何东西被掩盖/错过。

作为一种动态的鸭式语言,Ruby的本质使得以您所指的方式编译Ruby代码基本上是不可能的。尽管如此,见https://blog.gregbrockman.com/2012/01/static-analysis-in-ruby/

“...在登记之前不更新”?你用什么VCS可以做到这一点?

此外 - 如果再次运行测试发现错误,是否涵盖了您想要编译的内容?你有开发人员不仅没有更新,他们也不首先运行测试?

现在,如果你说测试对于没有更新的开发者来说不会失败,因为他们没有更新,那么他们的编译也不会失败,所以我没有看到编译会有所帮助。

+0

取决于你在检查什么SVN不需要更新(如果有一个选项来强制执行,那么当我正在使用它时没有设置)。无论如何,也许我没有解释我在寻找的是什么,但本质上是这样的:我知道当一个变量或方法意外地以动态语言重新命名时,测试和更新并不总能让它知道。我本质上是在寻找一种方法来验证jRuby on Rails应用程序,以确保没有任何东西被掩盖/错过。 – Kris 2012-08-13 17:06:16

+0

据我可以在网上找到这是最好的答案。我想这只是野兽的性质,但它肯定会是一个方便的东西。 – Kris 2012-09-12 04:41:49