版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Tcl集成测试环境搭建指南博为峰软件技术有限公司2006年1月修订记录录日期修订版本本修改章节节修改描述述作者20066-1-171.0初稿完成成周峰第一步:获取tccl8.3的安安装包,安安装到cc:目目录下(安安装时一一定要选选取liib库安安装)。第二步:利用Viisuaal CC+建建立一个个Winn32 Coonsoole Apppliccatiion 工程,工工程的名名字为CCounnterrTesst。因为被测测对象有有MFCC类,所所以该工工程应该该支持MMFC:第三步:参照下面面两个图图,分别别创建ttestt.h和和tesst.ccpp文文件。这这两个文件件均为空空文件。第
2、四步:添加被测测试模块块的代码码1)把下下面的代代码拷贝贝到文件件tesst.ccpp中中:2)把下下面的代代码拷贝贝到文件件tesst.hh中第五步:添加tccl扩展展指令代代码1)把下下面的代代码拷贝贝到文件件CouunteerTeest.cppp中:#inccludde tcll.h#inccludde tesst.hh第六步:1)定义义tcll解释器器:通过过使用TTCL内内部的数数据类型型Tcll_Innterrp定义义TCLL解释器器全局变变量。在在文件CCounnterrTesst.ccpp中中定义ttcl解解释器,即全局变量:Tcl_Interp* MyInterp;例如:(红
3、红色部分分为添加加的代码码)/定义义解释器器Tcl_Intterpp* MMyInnterrp;2)创建建解释器器:通过过使用TTCL函函数Tccl_CCreaateIInteerp()创创建解释释器。在文件CCounnterrTesst.ccpp中中创建ttcl解解释器,例例如:(红红色部分分代码)int _tmmainn(innt aargcc, TTCHAAR* arggv, TTCHAAR* envvp)intt nRRetCCodee = 0;/ iniitiaalizze MMFC andd prrintt annd eerroor oon ffaillureeif (!AAfxW
4、WinIInitt(:GettModduleeHanndlee(NUULL), NNULLL, :GeetCoommaandLLinee(), 0)/ TOODO: chhangge eerroor ccodee too suuit youur nneeddsceerr _T(Faatall Errrorr: MMFC iniitiaalizzatiion faiiledd) enddl;nRRetCCodee = 1;elsse/ TOODO: coode youur aappllicaatioonss beehavviorr heere./创建ttcl解解释器MyyIntterpp = T
5、cll_CrreatteInnterrp();/初始始化Tccl解释释器Tccl_IInitt(MyyIntterpp);/创建外外部命令令COUUNTEER,该该外部命命令可以以被tccl解释释器识别别,并且且执行CCOUNNTERR命令的的时候,直直/接接调用外外部命令令函数TTclEEx_CCounnterr。Tccl_CCreaateCCommmandd(MyyIntterpp,CCOUNNTERR,TTclEEx_CCounnterr,NUULL,NULLL);innt rrCodde;chhar sSccrippt2255;/CSttrinng ssScrriptt;whhilee
6、(1)/通过过嵌入集集成测试试框架的的Tcll解释器器MyIInteerp,运运行外部部传入的的tcll脚本pprinntf(请输输入要执执行的TTCL脚脚本文件件名:n);sscannf(%s,&ssScrriptt);rrCodde = Tccl_EEvallFille(MMyInnterrp,(chaar *)sSScriipt );iif (TCCL_OOK != rrCodde )priintff(TTherre aare errrorss inn yoour Tcll Fiilen); eelsee priintff(TTesttingg Suucceeed!n);/CSttrin
7、ng sstrHHelllo;/strrHelllo.LoaadSttrinng(IIDS_HELLLO);/couut (LPCCTSTTR)sstrHHelllo eendll;retturnn nRRetCCodee;3)初始始化解释释器:通通过使用用TCLL函数TTcl_Iniit()初初始化解解释器。在文件CCounnterrTesst.ccpp中中初始化化tcll解释器器,例如如:(红红色部分分代码)int _tmmainn(innt aargcc, TTCHAAR* arggv, TTCHAAR* envvp)intt nRRetCCodee = 0;/ iniitiaalizz
8、e MMFC andd prrintt annd eerroor oon ffaillureeif (!AAfxWWinIInitt(:GettModduleeHanndlee(NUULL), NNULLL, :GeetCoommaandLLinee(), 0)/ TOODO: chhangge eerroor ccodee too suuit youur nneeddsceerr _T(Faatall Errrorr: MMFC iniitiaalizzatiion faiiledd) enddl;nRRetCCodee = 1;elsse/ TOODO: coode youur aappl
9、licaatioonss beehavviorr heere./创建建tcll解释器器MyyIntterpp = Tcll_CrreatteInnterrp();/初始始化Tccl解释释器Tccl_IInitt(MyyIntterpp);/创建外外部命令令COUUNTEER,该该外部命命令可以以被tccl解释释器识别别,并且且执行CCOUNNTERR命令的的时候,直直/接接调用外外部命令令函数TTclEEx_CCounnterr。Tccl_CCreaateCCommmandd(MyyIntterpp,CCOUNNTERR,TTclEEx_CCounnterr,NUULL,NULLL);innt
10、 rrCodde;chhar sSccrippt2255;/CSttrinng ssScrriptt;whhilee(1)/通过过嵌入集集成测试试框架的的Tcll解释器器MyIInteerp,运运行外部部传入的的tcll脚本pprinntf(请输输入要执执行的TTCL脚脚本文件件名:n);sscannf(%s,&ssScrriptt);rrCodde = Tccl_EEvallFille(MMyInnterrp,(chaar *)sSScriipt );iif (TCCL_OOK != rrCodde )priintff(TTherre aare errrorss inn yoour Tcll
11、 Fiilen); eelsee priintff(TTesttingg Suucceeed!n);/CSttrinng sstrHHelllo;/strrHelllo.LoaadSttrinng(IIDS_HELLLO);/couut (LPCCTSTTR)sstrHHelllo eendll;retturnn nRRetCCodee;4)向解解释器注注册扩展展指令:通过使使用TCCL函数数Tcll_CrreatteCoommaand()向解释器器注册自自定义扩扩展指令令。在文件CCounnterrTesst.ccpp中中注册扩扩展指令令,例如如:(红红色部分分代码)int _tmmainn
12、(innt aargcc, TTCHAAR* arggv, TTCHAAR* envvp)intt nRRetCCodee = 0;/ iniitiaalizze MMFC andd prrintt annd eerroor oon ffaillureeif (!AAfxWWinIInitt(:GettModduleeHanndlee(NUULL), NNULLL, :GeetCoommaandLLinee(), 0)/ TOODO: chhangge eerroor ccodee too suuit youur nneeddsceerr _T(Faatall Errrorr: MMFC in
13、iitiaalizzatiion faiiledd) enddl;nRRetCCodee = 1;elsse/ TOODO: coode youur aappllicaatioonss beehavviorr heere./创建建tcll解释器器MyyIntterpp = Tcll_CrreatteInnterrp();/初始始化Tccl解释释器Tccl_IInitt(MyyIntterpp);/注册册扩展指指令COOUNTTER,该该扩展指指令可以以被tccl解释释器识别别,并且且执行CCOUNNTERR的时候候,直接接调用扩扩展指令令对应处处理函数数TcllEx_Couunteer。Tcc
14、l_CCreaateCCommmandd(MyyIntterpp,CCOUNNTERR,TTclEEx_CCounnterr,NUULL,NULLL);innt rrCodde;chhar sSccrippt2255;/CSttrinng ssScrriptt;whhilee(1)/通过过嵌入集集成测试试框架的的Tcll解释器器MyIInteerp,运运行外部部传入的的tcll脚本pprinntf(请输输入要执执行的TTCL脚脚本文件件名:n);sscannf(%s,&ssScrriptt);rrCodde = Tccl_EEvallFille(MMyInnterrp,(chaar *)sSS
15、criipt );iif (TCCL_OOK != rrCodde )priintff(TTherre aare errrorss inn yoour Tcll Fiilen); eelsee priintff(TTesttingg Suucceeed!n);/CSttrinng sstrHHelllo;/strrHelllo.LoaadSttrinng(IIDS_HELLLO);/couut (LPCCTSTTR)sstrHHelllo eendll;retturnn nRRetCCodee;5)定义义扩展指指令COOUNTTER对对应的处处理函数数TcllEx_Couunteer()#in
16、ccludde stddafxx.h#inccludde CouunteerTeest.h#inccludde tcll.h#inccludde tesst.hhint TcllEx_Couunteer(CClieentDDataa cllienntDaata,Tcll_Innterrp * innterrp,iint arggc, chhar* arrgv)retturnn TCCL_OOK;6)执行行外部传传入的TTCL脚脚本文件件:通过过使用TTCL函函数Tccl_EEvallFille()执执行外部部传入的的TCLL脚本文文件。在文件CCounnterrTesst.ccpp中中添加执执
17、行外部部脚本文文件的代代码,例例如:(红红色部分分代码)int _tmmainn(innt aargcc, TTCHAAR* arggv, TTCHAAR* envvp)intt nRRetCCodee = 0;/ iniitiaalizze MMFC andd prrintt annd eerroor oon ffaillureeif (!AAfxWWinIInitt(:GettModduleeHanndlee(NUULL), NNULLL, :GeetCoommaandLLinee(), 0)/ TOODO: chhangge eerroor ccodee too suuit youur
18、nneeddsceerr _T(Faatall Errrorr: MMFC iniitiaalizzatiion faiiledd) enddl;nRRetCCodee = 1;elsse/ TOODO: coode youur aappllicaatioonss beehavviorr heere./创建建tcll解释器器MyyIntterpp = Tcll_CrreatteInnterrp();/初始始化Tccl解释释器Tccl_IInitt(MyyIntterpp);/创建建外部命命令COOUNTTER,该该外部命命令可以以被tccl解释释器识别别,并且且执行CCOUNNTERR命令的的
19、时候,直直/接接调用外外部命令令函数TTclEEx_CCounnterr。Tccl_CCreaateCCommmandd(MyyIntterpp,CCOUNNTERR,TTclEEx_CCounnterr,NUULL,NULLL);int rCoode;chhar sSccrippt2255;/CSttrinng ssScrriptt;whhilee(1)/通过过嵌入集集成测试试框架的的Tcll解释器器MyIInteerp,运运行外部部传入的的tcll脚本pprinntf(请输输入要执执行的TTCL脚脚本文件件名:n);sscannf(%s,&ssScrriptt);rrCodde = Tcc
20、l_EEvallFille(MMyInnterrp,(chaar *)sSScriipt );iif (TCCL_OOK != rrCodde )priintff(TTherre aare errrorss inn yoour Tcll Fiilen); eelsee priintff(TTesttingg Suucceeed!n);/CSttrinng sstrHHelllo;/strrHelllo.LoaadSttrinng(IIDS_HELLLO);/couut (LPCCTSTTR)sstrHHelllo Opptioon-Diirecctorry.菜单单中,设设置tccl833包的头
21、头文件路路径:3)在toool-Opptioon-Diirecctorry.菜单单中,设设置tccl833包的库库文件路路径:第九步:实现扩扩展指令令。参考代代码:int TcllEx_Couunteer(CClieentDDataa cllienntDaata,Tcll_Innterrp * innterrp,iint arggc, chhar* arrgv)/定定义实际际输出intt aRRet; /实际际输出空空行行数数intt bRRet; /实际际输出注注释行行行数intt cRRet; /实际际输出代代码行行行数intt dRRet; /实际际输出总总行行数数/定定义期望望输出in
22、tt aEExceepteedReet; /期望输输出空行行行数intt bEExceepteedReet; /期望输输出注释释行行数数intt cEExceepteedReet; /期望输输出代码码行行数数intt dEExceepteedReet; /期望输输出总行行行数/定定义被测测对象CTeest Myttestt;/第第一步:检查参参数个数数if (100 != arrgc)innterrp-ressultt = Errrorr paara nummberr!;reeturrn TTCL_OK;/第第二步:取出参参数Myttestt.g_szSStattFilleNaame = aa
23、rgvv1; /取文文件路径径/sstr = aargvv1;/取取统计空空行标志志位if (TCCL_OOK != TTcl_GettIntt(innterrp,aargvv2,&gg_bSStattBlaankLLineeFlaag) innterrp-ressultt = paara22 errrorr;reeturrn TTCL_OK; /取取统计注注释行标标志位if (TCCL_OOK != TTcl_GettIntt(innterrp,aargvv3,&gg_bSStattCommmLiineFFlagg) innterrp-ressultt = paara33 errrorr;r
24、eeturrn TTCL_OK;/取取统计代代码行标标志位if (TCCL_OOK != TTcl_GettIntt(innterrp,aargvv4,&gg_bSStattCoddeLiineFFlagg) innterrp-ressultt = paara44 errrorr;reeturrn TTCL_OK;/取取统计总总行行标标志位if (TCCL_OOK != TTcl_GettIntt(innterrp,aargvv5,&gg_bSStattTottalLLineeFlaag) innterrp-ressultt = paara55 errrorr;reeturrn TTCL_OK;/取取期望输输出空行行行数if (TCCL_OOK != TTcl_GettIntt(innterrp,aargvv6,&aaExccepttedRRet) innterrp-ressultt = paara66
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年房产销售职业发展规划
- 2026年婴幼儿奶粉活动方案
- 2026年国产化妆品营销策略研究
- 2025年四川南充综合评标专家库评标专家考试(水利类实务)第二阶段模拟试题及答案解析
- 6月转债投资策略与关注个券:风格弱势结构分化转债等待交易性信号改善
- 2025年制造业物流流程优化
- 本科三年级计量经济学:虚拟变量模型(七)交互效应与结构变化高级专题教案
- 八年级上册语文“核心考点记背与真题分层”复习教学设计
- 工作报告编制审核标准流程
- 初中八年级地理知识清单:探源母亲河共筑生态屏障-三江源与长江黄河全攻略
- 2025年五方面人员面试题库及答案
- 干部提升能力课件
- 网络安全整改合同范本
- GB/T 494-2025建筑石油沥青
- 绿化项目养护监理方案投标文件(技术方案)
- 监考老师考务培训
- 网店推广考试问题及答案
- 医疗机构日常运营管理手册
- 消控证挂靠协议合同范本
- 2025新外研版初中英语八年级上全册课文原文翻译
- 肛周脓肿的护理查房
评论
0/150
提交评论