在Web开发方面,我非常习惯ASP.Net和Java世界。虽然我以前做了一些PHP,但我发现在一个jRuby on Rails项目上工作,有时会有很多开发人员意外崩溃,比如两个人重构相同的区域。
因此,一个人将MethodA重命名为MethodB,而其他引用MethodA的人在签入之前不会更新。然后我们没有发现对MethodA的引用破坏,直到有人专门再次运行该测试场景。
当然,我们试图通过使用rspec和测试客户端的第三方应用程序进行自动化测试来尽可能多地覆盖但是有办法几乎“编译”或“验证”rails应用程序以确保所有代码路径都是正确的,并且没有错误的引用,使用的错误类型等,如通常编译的框架?
谢谢!
编辑:为了澄清,我理解测试和更新并不总是能够在变量或方法意外地以动态语言重命名时知道。我本质上是在寻找一种方法来验证jRuby on Rails应用程序,以确保没有任何内容被忽略/错过。
答案 0 :(得分:0)
Ruby作为一种动态的鸭式语言的本质使得基本上不可能以你所指的方式编译Ruby代码。尽管如此,请参阅https://blog.gregbrockman.com/2012/01/static-analysis-in-ruby/。
“...在登记入住前没有更新”?你使用什么样的VCS可以实现这个目标?
另外 - 如果再次运行测试发现错误,那么是否包含您想要编译的内容?您的开发人员不仅在没有更新的情况下提交,他们也不会先运行测试吗?
现在,如果你说没有更新提交的开发人员测试不会失败,因为他们没有(umm)更新,那么可能他们的编译也不会失败,所以我没有看到汇编会有所帮助。