《CppUnit构建步骤及实例演练(共7页).doc》由会员分享,可在线阅读,更多相关《CppUnit构建步骤及实例演练(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上CppUnit构建步骤及实例演练一、 设置CppUnit环境1、 我们把CppUnit解压,然后打开src/目录下的CppUnitLibraries.dsw文件2、 打开文件后,我们不要build和运行,应执行build-batch build,我们只要选择所有的win32 Debug就行了,如图1-1总共一起是6项。3、 然后就可以编译执行了,完后,他会在lib/文件下生成库文件,如图1-2图 1-1图 1-24、 设置头文件和库文件路径,执行Tools-options-Directories,如图1-3,然后在Show directions for:中选择文件类型
2、(记得三个都要选择哦),在directores:里面添加你安装文件下的include文件(另外两个也要对应)。点击确定。然后记得要保存工程(file-save workspace)图 1-3二、 初识CppUnit测试环境1、 进入安装目录下的example文件夹下,打开examples.dsw文件。2、 将CppUnitTestApp工程设为活动工程如图1-4,然后编译运行,我们可以看到一个基于GUI方式的单元测试TestRunner界面(图1-5)3、 将CppUnitTestMain工程设置为活动工程,编译运行,我们可以看到他是一个基于文本方式的单元测试环境(图1-6) 图 1-4图 1
3、-5图 1-6三、CppUnitDemoFactorial构建步骤(以一个Factorial函数为测试实例)1、新建一个基于对话框的工程CppUnitDemoFactorial.可编译运行。(选择file-new-Projects-MFC AppWizard(exe),在Project name:里面填上:CppUnitDemoFactorial,点击OK,然后选择“基于对话框(Dialog based),选择完成)2、 设置工程属性:Project-Settings,如图1-7单击C+选项卡,在Category:中选择C+ Language,然后再选中Enable Run-Time Type
4、 Information(RTTL);然后在单击Link选项卡,在Object/library modules:中填入(cppunitd.lib testrunner.lib),最后单击OK图 1-73、将Factorial.cpp和Factorial.h添加到工程中(文件、)添加方法:Projiect-Add To Project-files,选中你的文件(记得要把你的文件放在你的工程文件夹下);然后编译运行,会出现一下错误代码:fatal error C1010: unexpected end of file while looking for precompiled header dir
5、ective解决方法:打开图1-7,单击C+选项卡,在Category:中选择Precompiled Headers,然后选中Not Using Precompiled Headers,然后保存,再build就不会出错了。4、新建测试类:CFactorialTestCase,派生于CppUnit:TestCase操作步骤:Insert-New Class,会弹出一下对话框,并根据下图填写4、为CFactorialTestCase类添加factorialTest成员函数:右击此类-Add member function 弹出对话框,按下图填写:5、 给成员函数添加函数体,语句如下:CPPUNIT
6、_ASSERT_EQUAL(0,Factorial(-5);/这是测试语句CPPUNIT_ASSERT_EQUAL(1,Factorial(0); CPPUNIT_ASSERT_EQUAL(6,Factorial(3);解释:括号中0、1、6是期望值,Factorial(x)是对应测试的函数6、 在CFactorialTestCase类的定义文件中(FactorialTestCase.h),添加一下代码#include #include #include #if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000class CFactorialTes
7、tCase : public CppUnit:TestCase CPPUNIT_TEST_SUITE(CFactorialTestCase);CPPUNIT_TEST(factorialTest);CPPUNIT_TEST_SUITE_END();public:void FactorialTest();CFactorialTestCase();virtual CFactorialTestCase();10、 在FactorialTestCase.cpp中添加一下代码:/ Construction/Destruction/CPPUNIT_TEST_SUITE_REGISTRATION(CFact
8、orialTestCase);CFactorialTestCase:CFactorialTestCase()11、 在CppUnitDemoFactorial.cpp中添加一下代码:在文件的最开头添加一下头文件包涵语句:#include #include 在InitInstance()函数中添加一下代码,并把其他所有代码注释掉BOOL CCppUnitDemoFactorialApp:InitInstance()AfxEnableControlContainer();CppUnit:MfcUi:TestTunner runner;runner.addTest(CppUnit:TestFactoryRegistry:getRegistry().makeTest();runner.run();return TRUE;12、 按道理说现在可以运行了,不过,呵呵大家别急哦,如果你现在运行就会出一下错误提示解决方法:把CppUnit安装文件下的llib/下的testrunner.dll复制到你的工程目录下就可以了13、 做完以上所有步骤后,我们就可以运行了,运行结果如下呵呵我相信大家都知道这是告诉我们,我们的程序要错,但错误在那呢? ,这就留给大家自己去找吧专心-专注-专业