欢迎来到天天文库
浏览记录
ID:47915188
大小:15.50 KB
页数:2页
时间:2019-10-25
《C++test中导入CppUnit》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、准备工作1.CppUnit的概念CppUnit是一套单元测试框架,是基于LGPL的开源项目,最初版本移植自JUnit。CppUnit和JUnit一样主要思想来源于极限编程。主要功能就是对单元测试进行管理。但是CppUnit只是提供了一个框架,并不能自动生成测试用例和自动执行测试。优秀的测试代码应该是尽可能地覆盖被测试代码的所有执行路径。并且实现代码坚固性、可靠性、健壮性的测试。往往测试用例随被测试代码复杂程度成指数增长,可想而知,如果测试人员手动编写测试用例,这个工作量是相当大的。C++test工具能够根据源代码自动生成相应的基于CppUnit框架的测试用例。C++te
2、st自动生成的测试代码容易理解,并且方便测试人员在其基础上添加和修改测试用例。除此之外,还在CppUnit框架基础上提供一系列的宏,将繁琐的操作封装到宏中。C++test能够对执行单元测试结果进行分析,给出执行覆盖率信息,便于测试人员发现问题和提高代码的质量。2.如何把CppUnit测试用例加入到C++test中对于旧有的CppUnit测试用例,C++test能够将其导入并测试。在C++test中运行CppUnit测试用例允许您集中CppUnit及C++test的测试和报告。C++test的报告和著作权计算能力可以帮助团队跟踪:测试用例从何时开始出错以及由谁来负责修正每种错
3、误。团队可以每晚以命令行形式运行这些测试。为了即时反馈代码的改变是否破坏了现有的功能,每一个开发者都能导入由他们的修改而引起的回归失效。由于回归失效指向为失效负责的开发者,因此纠正这些失效的总过程比,所有开发者一起查看回归失效时的同一列表要便捷得多。并且,C++test为CppUnit测试用例提供测试覆盖率信息。3.导入待测工程在ATM工程文件夹中提供了CppUnit文件夹,该文件夹包含了BankTestCase_1.cpp和BankTestCase_1.h两个文件,查看BankTestCase_1.cpp的源代码会发现,该文件还需要包含Account.hxx和Bank.h
4、xx两个头文件,将这两个头文件复制到CppUnit文件夹内,至此,CppUnit文件夹中有四个文件。由于BankTestCase_1.cpp这个测试用例是针对Bank.cxx文件的,所以在导入工程的时候要特别注意,导入的是Bank工程而不是ATM工程。将Bank.cxx文件在VC++(或其他编译器)编译,生成dsp文件,然后按照前面的方法将Bank.dsp导入到C++test中。二、C++test中使用CppUnit测试用例1.测试配置(1)将CppUnit文件夹(包含四个文件)复制到C++test工作区(默认路径:C:DocumentsandSettingsAdmin
5、istratorParasoftcpptestworkspace)的Bank文件夹中,如图2-1所示。(2)在工程浏览器中,右键单击Bank工程,选择Refresh(刷新),Bank文件夹下面多出一个CppUnit文件夹,如图2-2所示。(3)在C++test下拉菜单下选择TestConfigurations(测试配置),在左边的Builtin文件夹下打开UnitTesting,找到RunUnitTests,右键选择Duplicate(副本),如图2-3所示。(4)选中左边刚刚生成的RunUnitTests副本,在右边的面板中,将其重命名为RunCppUnitTest
6、s,在Execution(执行)面板中选择C++test中的General(常规)选项卡,将Testsuitefilesearchpatterns(*):字段中的tests改为CppUnit,后面的*非常重要,然后单击Apply(应用),关掉窗口,如图2-4所示。2.运行CppUnit(1)在工程浏览器中右键单击Bank,选择C++test->TestUsing(使用测试)->User-Defined(用户定义)->RunCppUnitTests(运行CppUnit测试),如图2-5所示。(2)运行完毕后,会有一个任务提示,如图2-6所示。lilycheng
此文档下载收益归作者所有