用桩解决单元测试中的内部输入

         我前面的文章有介绍过,桩有三个功能:隔离、补齐,控制。其中,控制功能就是用于解决内部输入的,因此,打桩并手工修改桩代码,是解决内部输入的方法之一。

         关于编写桩的方法,已在第4章介绍过,这里不再重复。关于如何让桩与用例匹配,请阅读第9章。

遗憾的是,编写桩代码不但增加工作量,而且不能解决所有的内部输入,下面对内部输入分类分析:

         自然输入:自然输入调用实际代码,不需要特别解决,跟桩无关。

          不可控:不可控调用的也是实际代码,并不调用桩代码,因此也不能解决。另外编写桩代码来代替实际代码行不行?在应该调用实际代码的时候,要想调用桩代码可能很麻烦,例如,底层函数位于同一个文件,或同一个类,通常要用编译条件来区分实际代码和桩代码,不但麻烦,而且污染产品代码。

难于初始化:也是调用实际代码。

          静态输入:静态输入只涉及到局部静态变量,没有调用底层函数,当然也不能用桩来代替。

     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值