




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。tcl集成测试环境搭建指南-Tcl集成测试环境搭建指南交大慧谷培训中心慧谷博为峰软件测试工作室2004年5月修订记录日期修订版本修改章节修改描述作者2004-5-271.0初稿完成王威第一步:获取tcl8.3的安装包,安装到c:目录下。第二步:利用VisualC+建立一个基于对话框的工程,工程的名字为CounterTest。第三步:参照下面两个图,分别创建然后创建test.h和test.cpp文件,然后创建Tcl_ExCounter.h和Tcl_ExCounter.cpp文件。这四个文件均为空文件。第四
2、步:添加被测试模块的代码1)把下面的代码拷贝到文件test.cpp中:2)把下面的代码拷贝到文件test.h中第五步:添加tcl扩展指令代码1)把下面的代码拷贝到文件Tcl_ExCounter.h中:#includetcl.hintTclEx_Counter(ClientDataclientData,Tcl_Interp*interp,intargc,char*argv);2)把下面的代码拷贝到文件Tcl_ExCounter.cpp中#includestdafx.h#includeTcl_ExCounter.h#includetest.hintTclEx_Counter(ClientDatac
3、lientData,Tcl_Interp*interp,intargc,char*argv)returnTCL_OK;第六步:定义tcl解释器,通过使用TCL内部的数据类型Tcl_Interp定义TCL解释器全局变量。1)在文件CounterTestDlg.cpp中定义tcl解释器,即全局变量:Tcl_Interp*MyInterp;例如:(红色部分为添加的代码)Tcl_Interp*MyInterp;classCAboutDlg:publicCDialogpublic:CAboutDlg();/DialogData/AFX_DATA(CAboutDlg)enumIDD=IDD_ABOUTBO
4、X;/AFX_DATA2)在文件CounterTestDlg.cpp中创建并加载tcl解释器:(红色代码为新增代码)BOOLCCounterTestDlg:OnInitDialog()CDialog:OnInitDialog();/AddAbout.menuitemtosystemmenu./IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT(IDM_ABOUTBOX&0 xFFF0)=IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOXAppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_S
5、TRING,IDM_ABOUTBOX,strAboutMenu);/Settheiconforthisdialog.Theframeworkdoesthisautomatically/whentheapplicationsmainwindowisnotadialogSetIcon(m_hIcon,TRUE);/SetbigiconSetIcon(m_hIcon,FALSE);/Setsmallicon/TODO:Addextrainitializationhere/创建tcl解释器MyInterp=Tcl_CreateInterp();/Tcl_UserInit为自定义的函数,用来初始化Tcl
6、解释器,并且创建扩展指令if(Tcl_UserInit(MyInterp)AfxMessageBox(TCLinitializeError!);returnFALSE;returnTRUE;/returnTRUEunlessyousetthefocustoacontrol3)在文件CounterTestDlg.cpp,定义函数Tcl_UserInit,用来初始化Tcl解释器,并创建外部命令COUNTER。intTcl_UserInit(Tcl_Interp*interp)/初始化Tcl解释器Tcl_Init(interp);/创建外部命令COUNTER,该外部命令可以被tcl解释器识别,并且执
7、行COUNTER命令的时候,直/接调用外部命令函数TclEx_Counter。Tcl_CreateCommand(interp,COUNTER,TclEx_Counter,NULL,NULL);returnTCL_OK;4)在文件CounterTestDlg.cpp中添加下面两个红色的头文件#includestdafx.h#includeCounterTest.h#includeCounterTestDlg.h#includetcl.h#includeTcl_ExCounter.h第七步:添加tcl头文件和库文件,并设置相应的头文件和库文件路径1)如下图所示,采用如下方法添加tcl83包中的t
8、cl.h和tcl83.lib2)在tool-Option-Directory.菜单中,设置tcl83包的头文件路径:3)在tool-Option-Directory.菜单中,设置tcl83包的库文件路径:第八步:在对话框工程中,增加按钮“Test”,如下图所示,并且在按钮的相应函数中,添加如下代码:voidCCounterTestDlg:OnButton1()/TODO:AddyourcontrolnotificationhandlercodehereintrCode;/通过那嵌入集成测试框架的Tcl解释器MyInterp,运行tcl脚本E:/test.tclrCode=Tcl_EvalFil
9、e(MyInterp,E:/test.tcl);if(TCL_OK!=rCode)AfxMessageBox(ThereareerrorsinyourTclFile);扩展指令参考代码:intTclEx_IsCodeLine(ClientDataclientData,Tcl_Interp*interp,intargc,constchar*argv)CStringstr;BOOLbFlag,bRet,bExceptedRet,bExceptedFlag;CCounteroMyCouter;FILE*out;out=fopen(E:tempresultresult.txt,a);/第一步:检查参数
10、个数if(5!=argc)fputs(Parameterserror,out);fflush(out);returnTCL_ERROR;/第二步:取出参数str=argv1;if(TCL_OK!=Tcl_GetInt(interp,argv2,&bFlag)returnTCL_ERROR;if(TCL_OK!=Tcl_GetInt(interp,argv3,&bExceptedRet)returnTCL_ERROR;if(TCL_OK!=Tcl_GetInt(interp,argv4,&bExceptedFlag)returnTCL_ERROR;/第三步:调用被测函数bRet=oMyCouter.IsCo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临沭租房合同范本
- 2025年梧州货运从业资格考题
- 2025年景德镇货运从业资格仿真考题
- 医院食堂押金合同范本
- 个人和工厂合作合同范本
- 保健品定购合同范本
- 加工类工程合同范本
- 农业仓库出租合同范本
- 债务继承协议合同范例
- 单位对个人合同范例
- 中国旅游资源概述
- 高一下分科文科班第一次主题班会
- 初中数学代数式部分的文本解读
- 高中学生的自我评价200字 高中学生的自我评价(三篇)
- 2023届高考英语单词分类-航空航天类词汇短语与高分句型模板讲义
- 口腔特殊检查方法牙髓温度测试法
- 信号电缆接续
- 第七版《方剂学》课本方歌
- 园林绿化养护投标文件-技术标
- 刘心武班主任
- MT 191-1989煤矿井下用橡胶管安全性能检验规范
评论
0/150
提交评论