来谈谈Ruby中的testing?

来谈谈Ruby中的testing?

不知道大家在开发过程中有没有经常使用到Unit/Functionality testing,使用的频率如何,覆盖率如何?

有没有用TDD来指导开发的?
现在基本上写东西都用TestUnit
主要是用来查错吧
覆盖率如何?对所有方法都进行Test?
比较复杂的才用,就一句两句话的方法就省了
之前4、5月份用C#做的项目,用的就是tdd的方式,采取贫血的Domain Model,ORM用的是ibatis.net。有Domain层,有DAO层,有Servier层。当时强制要求大家采取tdd来驱动开发。做了一段时间之后,反映出来的一个问题就是,由于有些Service层对DAO层的调用非常简单,仅仅是一个方法的调用,这种service方法,大家都认为没有测试的必要。而且我当时也没有好的理由来说服大家。现在如果是ruby或ror的话,我认为用tdd来驱动就非常自然了,因为我们不需要关心底层的sql,dao层只要使用activeRecord即可,测试的话,只要对model的method进行测试,就可以了。例如一个查询方法,要在test method中验证是否取出来的每个model都符合find方法给出的条件,要验证全部的model中满足条件的record都被取了出来。这样的代码ror里面写,应该是非常简单和直观的
TDD的话,在写代码之前的测试的时候会进行边界测试吗?还是只是反应一下自己编码的思路呢?
tdd中的testcase应该是好几种不同类型的test构成,包括unit test, 对业务逻辑的测试,以及其他类型的测试。边界测试属于unit test中的一种。
至于对代码思路测试,牵涉到的问题就比较深入了,tdd讲究的是小步幅前进,频繁提交代码。这方面都已经可以拿出一个专题来讲了。我想下一步在这个坛子里对敏捷的实践逐个深入介绍一下。
java里用TDD可以设计接口,不知道是否是你说的代码思路。。。
引用:
原帖由 bryanzk 于 2007-7-31 21:50 发表
tdd中的testcase应该是好几种不同类型的test构成,包括unit test, 对业务逻辑的测试,以及其他类型的测试。边界测试属于unit test中的一种。
至于对代码思路测试,牵涉到的问题就比较深入了,tdd讲究的是小步幅 ...