zoukankan      html  css  js  c++  java
  • [设计原则与模式] 如何理解TDD的三条规则

    cp from  :  https://blog.csdn.net/ibelieve1974/article/details/54948031 

    如何理解Bob大叔的TDD三条规则?
    第一条和第三条讲的是只有和只要。只有Case False的情况下才能写Code。只要新写的Code使得Case通过了,就不要写任何新功能代码了。重构是可以的。
    第二条是说只允许编写Case失败的代码。这一条操作起来有个疑惑。比如为写一个算法,先把写一个验证功能的Case,然后写代码。Case通过以后,想验证下特殊值情况,又写一个Case,结果Case也幸运的Pass了。这算不算违反了Bob大叔的TDD规则2呢? 经过咨询了James Grenning,这样做是可以的。第二条只允许编写失败Case是指对于未实现的新的功能。比如原计划写5个测试功能的Case,当你完成功能1和2开发和测试,那你就对未实现的功能3的写的测试case当然是fail的。但这不妨碍你继续写增加对功能1和2测试的验证case。

    You are not allowed to write any production code unless it is to make a failing unit test pass.
    1、除非为了使一个失败的unit test通过,否则不允许编写任何产品代码
    You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.
    2.在一个单元测试中只允许编写刚好能够导致失败的内容(编译错误也算失败)
    You are not allowed to write any more production code than is sufficient to pass the one failing unit test.
    3、只允许编写刚好能够使一个失败的unit test通过的产品代码


    ---------------------
    作者:Sleeping-Cat
    来源:CSDN
    原文:https://blog.csdn.net/ibelieve1974/article/details/54948031
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    好的开源项目汇总
    强制SVN上传代码时添加日志
    微信开发-回调模式
    Struct2中自定义的Filter无效
    Ajax 传包含集合的JSON
    PostgreSQL数据库PL/PGSQL学习使用
    单用户对比PG 9.5.4和SYBASE 15.7对超大表的操作性能
    一场一波三折的SQL优化经历
    聚簇索引对数据插入的影响
    磁盘IO初探
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/11079644.html
Copyright © 2011-2022 走看看