VC与CppUnit使用的全过程
1.下载VC++6.0安装包
2.下载CppUnit【一般将其与VC放在同一个盘】
3.CppUnit在VC6.0的配置
1.打开CppUnit的src目录下,将CppUnitLibraries.dsw工程文件使用VC打开,
点组建-->批组建-->会出现如图的对话框,选中所有的进行创建。
将生成cppunit的库文件,其位置在CppUnit1.10.2/lib目录下【如果编译出现一些error,不要理会】
1
2
2.将CppUnit的examples文件中的example.dsw工程文件使用VC打开,也是进行编译
不过在编译之前先设置一些相关路径,在VC里面点击“工具”->"选项"->“目录”,
在目录处选择include files,添加CPPUNIT-1.12.1\INCLUDE;
在目录处选择Library files,添加CPPUNIT-1.12.1\LIB
1
2
3
4
进行注册testrunnerdsplugin.dll:在VC中点击“工具”->“定制”->“附加项与宏文件”,点击“浏览”,
选择lib下的testrunnerdsplugin.dll进行双击,OK
1
2
现在,要进行正式的编译了
选择CppUnitTestApp,右击将其设置为活动工程,进行编译运行,
结果就是下图,可以通过Browse选择要进行的单元测试,
点击“Run”,开始测试,绿色代表成功。
接下来,同样的方式,分别对CppUnitTestMain与HostApp进行编译运行,
CppUnitTestMain是一个基于文本方式的单元测试环境,
HostApp也是对于CppUnit自身的测试,向我们演示的是各种失败的测试,所以结果是红色
4.CppUnit的使用
1.创建一个基于对话框的MFC工程BinaryCppUnit
2.配置工程
(1)打开RTTI开关:“工程”->“设置”->“C/C++”->“C++Language”,选中左上角的Settings For的
“所有配置”,然后选择打开RTTI开关【RTTI(运行时类型识别)主要提供了运行时确定类对象类型的方法】
(2)在Use run-time library一栏中,针对debug和release版本分别设置为
‘Debug Multithreaded DLL’和‘Multithreaded DLL’;【CppUnit所用的动态运行库均为多线程动态库,
单元测试程序也得使用相应设置,否则会发生冲突】
1
2
3
(3)连接正确的lib:“工程”->“设置”->“连接”,针对左上角Settings For的选择进行相对应的填写,
选择“Win32 Debug”后在‘Object/library modules’中填写cppunitd.lib testrunnerd.lib,
选择“Win32 Release”后在‘Object/library modules’中填写cppunit.lib TestRunner.lib。
(4)将/lib 目录下的testrunnerd.dll和TestRunner.dll文件分别拷贝到UnitTest priject的程序
debug和release版本输出目录中,如果发现没有debug和release文件夹,先分别进行debug
和release后即可。
3.开始进行测试框架的编写
(1)建立一个工程,命名为BinaryCppUnit。
(2)新建类:CBinaryTestCase,派生于CppUnit::TestCase。具体步骤为:右键单击CBinaryTestCase classes选new class。
(3)添加成员函数:void factorialTest()。右键单击CBinaryTestCase选第二项
1
(4)在函数中添加函数体。
CPPUNIT_ASSERT_EQUAL是一个宏,在它的两个参数不相等的时候,会抛出异常.
(5)在CBinaryTestCase类的定义头文件,添加头文件与测试相关的代码
1
(6)在CBinaryTestCase.cpp文件中,进行注册测试的suite
1
(7)在BinaryCppUnit.cpp中添加相关的运行界面代码以及头文件
1
(8)创建被测试代码
1