51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3277|回复: 1
打印 上一主题 下一主题

[讨论] 请教VcTester问题,急!!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-16 00:13:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在测试一个函数A的时候要对被调函数B进行打桩,A函数中调用了好几次B函数,又不想每次调用都打桩,只想设置前几次打桩,而后不打桩,这样是否可以?如何­实现?有知道的帮忙回复一下,急!!急!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-16 00:21:22 | 只看该作者
VcTester已经具有你说的功能,具体解决方法如下:
  脚本桩中使用return语句返回,属于正常打桩,让脚本函数替代C函数,若脚本桩中未使用return语句,脚本桩函数是插入运行的,被打桩C函数继续得到运行。利用此特性可解决这个问题,参见如下样例:

setContainVar(vd,'gCount',0); # 定义一个全局计数器

func ObjCompare_stub(vc):
  vd.gCount = vd.gCount + 1;
  if vd.gCount > 3:
    # do nothing and not return
    # It is same to call original function
  end else:
    # Execute script stub function
    print 'in stub';
    return 0;
  end;
end;

vd.ObjCompare.stub(ObjCompare_stub);
vd.BubbleSort(vd.gDataList,8);
vd.ObjCompare.stub(nil);




[ 本帖最后由 tony.ak 于 2006-11-16 00:22 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 12:00 , Processed in 0.076638 second(s), 35 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表