• 邓志国
    2022-03-22
    对一些第三方系统的使用,比如发送短信。我可能只需要关心短信发送这个动作是否被调用了,那么这个时候Mock发短信的动作我觉得是可以的。

    作者回复: good

    共 2 条评论
    21
  • leesper
    2022-08-18 来自北京
    老师,看你讲到领域模型,那您一定也是DDD高手嘛?能开个课讲讲DDD吗,感觉落地好难

    编辑回复: 在极客时间上搜《如何落地业务建模》,也是徐昊老师的课,里面讲有DDD

    
    2
  • Adoy
    2022-03-22
    对于想OptionParser这样设计成Inverse of Control风格的API,mock一个parser来做行为验证比较合理。类似的前端onClick,onChange这样的API,行为验证的测试实现起来更简单直观,也不影响组建内部的重构。

    作者回复: 你可以试试

    共 2 条评论
    1
  • grandgraph
    2022-04-28
    《Google软件工程》书中第13章提到,在有些情况下,交互测试是必要的: 1. 不能使用实际实现或伪实现。 2. 调用函数的次数或顺序的差异会导致非预期的行为。 这里的交互测试即行为验证。

    作者回复: 尽量避免 是副作用大 不是没用

    
    
  • lvxus
    2022-04-23
    参照测试金字塔,层级最高的那层使用行为测试,应该符合减少成本而又不太影响重构?

    作者回复: 可以重新思考一下测试金字塔到底是什么

    
    
  • Sudouble
    2022-04-10
    功能、结构本身改动不大之处,适用于行为验证。基于行为的验证不合适的主要原因在于实现方式变化,以及无法感知到实现变化后,实际输入输出变化。相应的,主要思考在于哪个位置变化小?可以推广至再上层的集成测试、功能测试级别,或者说API接口。

    作者回复: 如果能预知改变 就不用这么麻烦了

    
    
  • davix
    2022-04-09
    請教函數式編程中的測試一般是哪種類型?

    作者回复: 看风格 代码点评里 我写了一个high order组合风格。cps,mondic测试技巧都不太一样

    
    
  • 阿崔cxr
    2022-03-23
    找到程序的边界,对于那些非自己程序的逻辑,比如第三方库,就可以 mock 掉。也就是使用行为测试

    作者回复: 那为啥不fake

    
    
  • 邓志国
    2022-03-22
    如果我的业务逻辑依赖于一个Repository接口,我用内存实现了一个这样的接口。比如测试一个新增后,我会去这个Repository内存实现中查找到新增的对象。这样的测试替身算是行为验证还是状态验证?

    作者回复: 状态验证

    
    
  • 程序袁帅
    2022-04-05
    我之前把《Mock 不是 Stub》这篇文章翻译成了中文,分享给大家: https://www.yuque.com/yuanshenjian/agile/mocks-are-not-stubs 这篇文章有点长,但仔细读两遍,会有很多收获,可以作为CTO专栏的很好补充
    
    27