Ruby/Rails需要比PHP应用程序更多的单元测试吗?

Bla*_*man 2 php ruby unit-testing ruby-on-rails

我没有在PHP市场中找到单元测试推送,就像我在ruby/rails竞技场中看到/读取的那样.

可能就像在php中一样容易在ruby/rails中进行单元测试,或者ruby是否太可弯曲和易碎,以至于它"更多"建议在ruby中测试而不是在php中?

意思是有像vBulletin这样的大型代码库,而且据我所知,它们不进行单元测试.

我希望你理解我在这里要问的是什么,不是测试的优点/缺点,或者是否应该测试,而是一种语言是否需要进行更多的测试呢?也许它很容易编写错误的代码,或在重构等过程中中断.

Mar*_*rth 7

在TDD成为主流之前,PHP/vBulletin/Mambo博士开始了

PHP允许像Ruby那样犯同样的错误.在Java/C#中,如果你在编译时做了一些奇怪的事情,编译器会抱怨,PHP/Ruby只会在运行时这样做.因此,如果您要将Ruby与Java进行比较,我可能会回答说,我认为为PHP/Ruby编写单元测试更有必要.无论你使用什么语言,我仍然认为单元测试很重要.

根据你的发现: vBulletin(v3开发于2002年12月开始)和Mambo几乎和jUnit(2000)一样古老.单元测试(根据我能找到的)在2000年左右有所上升.SimpleTest/PHPUnit在2003/2004年出现.所以Mambo/vBulletin的开发者当时没有使用TDD.编写代码的结构不会使以后添加测试变得容易.

不要羞辱任何PHP开发人员,PHP已经被脚本小子,伪程序员和初学者(包括我)所淹没.每个人都从头开始,写了他/她自己的CMS.参考应用程序是在网络上找到的一些片段.我假设PHP开发社区中有很大一部分人从未听说过单元测试,或者已经理解了它的优点.

与PHP(约2000年)相比,Ruby被大肆宣传(大约2007年).它捆绑了很多哲学("什么是好/可读/漂亮的代码?","如何编写代码?").写作测试有点是这种哲学的一部分.

关于Ruby的大多数书籍都包含一个关于单元测试的部分,解释了为什么它是好的和必要的.Rails也会自动为您生成一组(空)测试.我们鼓励你一直写测试 - 很难不这样做.

  • "我们鼓励你一直写测试"这是一个编码成熟的事情. (3认同)