08|TDD中的驱动(1):驱动的极限是什么?

2022-03-29 徐昊
《徐昊·TDD 项目实战 70 讲》
课程介绍


讲述:徐昊

时长:大小6.65M


你好,我是徐昊。从今天开始,我们来讨论一下测试驱动开发中的驱动是什么意思。
在上节课,我们讨论了测试驱动中测试的性质。它们不是“单元测试”,而是不同粒度的功能测试。或者如我建议的那样,你可以叫它们“单元级别功能测试”。那么这些单元级别功能测试将会如何驱动我们的开发呢?今天我们就来讨论一下这个问题。

如果当初我们那么做了

上节课我们讲到,TDD 中测试针对的粒度是独立的功能上下文或变化点。测试验证功能上下文或变化点符合功能需求。
对于相同的功能,如果我们划分的功能上下文不同,会有什么结果呢?回看之前的 TDD 演示,在第一讲中,我们讨论了三种实现方式:
从给定的参数列表中寻找对应选项,并根据选项类型读取参数;
将参数列表按照选项,分割成由选项名称和参...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • 邓志国
    2022-03-29
    最长碰到的挑战就是问:TDD如何驱动某个算法的实现。这篇文章给了很好的答案。

    作者回复: 答案就是实现不了

    
    6
  • aoe
    2022-03-29
    原来以为可以学好了 TDD 在 LeetCode 上大杀四方,看来我想多了! 多谢老师告知 TDD 不能做什么
    
    1
  • 枫中的刀剑
    2022-03-30
    红:以代码的形式呈现功能最终的样子,以终为始的思想,通过测试迫使自己去思考功能的上下文。 绿:将想法变为现实。通过红的步骤我们可以只专注在一个小的上下文上来思考如何实现,降低认知负担。 重构: 对功能和结构再次调整,消除不合理的地方,朝更好的设计前进。
    
    
  • Frode
    2022-03-30
    1. TDD“驱动”的是架构,因而实际是一种架构技术。 2. 测试驱动开发到底驱动了什么:功能在单元(模块)间的分配。我们也讲了,测试驱动开发在什么地方会失去驱动力:单元(模块)内的实现方式 3. 如果我们要驱动单元内的功能实现,该怎么办呢?那么就需要将这个单元对应的功能上下文,分解为更小的上下文,并将功能需求在这个上下文中加以分解。 4. 如果真的不知道怎么实现?拆分功能,可以先mock出来,然后实现可以实现的,再想办法解决,例如请教他人
    
    
  • aoe
    2022-03-30
    TDD 不能做什么? - 不能窥探方法内是如何实现的,例如对于一个排序算法,只能验证结果是否符合预期,不能验证使用了哪种算法(冒泡、插入等) - 不能求解自己不会的问题,例如: - 自己没有思路的算法题 - 破解世界七大数学难题获得高额奖金
    展开

    作者回复: 但是可以知道自己到底是哪不会

    
    