单元测试,如何打桩?

codeyell-com 2010-03-03 11:04:32
没人回答,我继续问啊,期待高手。

方法A调用方法B,现在测试方法A,想把方法B弄成个桩

问题:
桩的代码要在测试工程里写吗?是不是还要修改方法A的代码,要不然如何能调用到B的桩函数而不是B?
...全文
482 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wqmgxj 2010-07-09
  • 打赏
  • 举报
回复
今天面试被问到了,杯具了
codeyell-com 2010-03-05
  • 打赏
  • 举报
回复
sp1234真神人也
  • 打赏
  • 举报
回复
引用 8 楼 nali29 的回复:
将B改成一个桩的基础是B已经测试过了,那么再测试A的时候无需真正的执行B,那么只需在B中检查A中传入的参数,并且简单的给A一个虚假的返回即可,并非真正经过处理的结果


没有这个前提。

实际上大多数时候是先做A,而后做B,目的就是避免以为传统上是先B后A而被自己骗了。实际上有了桩,那么A就可以和B一块开发。就好象QQ的界面可以先开发,用一些本地文件作为数据库,把模拟数据写入文本文件来事实观察QQ界面的表现;而服务器端可以和界面同时并行开发,有一点差异以后可以做少量适配。
  • 打赏
  • 举报
回复
“B桩”的想法通常是因为B比较耗时或者无法直接支持调试器,例如B是中国移动的服务,或者因为需要调试时极快运行速度或者因为实际费用等等原因我们不能或者不必真的拿B闹着玩,或者B还根本没有开发出来呢(!),为了开发好A,我们用一个“B桩”配合A的开发和调试过程。
  • 打赏
  • 举报
回复
只回答你最后一个问题,假设真的有“桩”,那么你可以实现为:在app.config或者web.config文件中配置一下appsetting的参数就可以切换了。
nali29 2010-03-04
  • 打赏
  • 举报
回复
将B改成一个桩的基础是B已经测试过了,那么再测试A的时候无需真正的执行B,那么只需在B中检查A中传入的参数,并且简单的给A一个虚假的返回即可,并非真正经过处理的结果
codeyell-com 2010-03-04
  • 打赏
  • 举报
回复
我up, again and again
codeyell-com 2010-03-03
  • 打赏
  • 举报
回复
我up 我快乐 回复内容太短了!
codeyell-com 2010-03-03
  • 打赏
  • 举报
回复
我up 我快乐 回复内容太短了!
xi_ye 2010-03-03
  • 打赏
  • 举报
回复
关注!!!!!!!!!!!!!!!!!up
codeyell-com 2010-03-03
  • 打赏
  • 举报
回复
如果便于替换怎么做?
不便于替换的话呢?

引用 5 楼 soaringbird 的回复:
这要看A的代码中关于B的部分是不是便于替换
soaringbird 2010-03-03
  • 打赏
  • 举报
回复
这要看A的代码中关于B的部分是不是便于替换
codeyell-com 2010-03-03
  • 打赏
  • 举报
回复
我up 我快乐 回复内容太短了!

110,552

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧