VC与CppUnit使用的全过程(为了作业所写,所以绝对详细)

简介: VC与CppUnit使用的全过程(为了作业所写,所以绝对详细)

VC与CppUnit使用的全过程

1.下载VC++6.0安装包

2.下载CppUnit【一般将其与VC放在同一个盘】

3.CppUnit在VC6.0的配置

1.打开CppUnit的src目录下,将CppUnitLibraries.dsw工程文件使用VC打开,



微信图片_20230701155347.png

点组建-->批组建-->会出现如图的对话框,选中所有的进行创建。

将生成cppunit的库文件,其位置在CppUnit1.10.2/lib目录下【如果编译出现一些error,不要理会】

1

2

微信图片_20230701155335.png


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

微信图片_20230701155314.png

微信图片_20230701155312.png


进行注册testrunnerdsplugin.dll:在VC中点击“工具”->“定制”->“附加项与宏文件”,点击“浏览”,

选择lib下的testrunnerdsplugin.dll进行双击,OK

1

2

微信图片_20230701155237.png


现在,要进行正式的编译了

选择CppUnitTestApp,右击将其设置为活动工程,进行编译运行,

结果就是下图,可以通过Browse选择要进行的单元测试,

点击“Run”,开始测试,绿色代表成功。



微信图片_20230701155224.png

接下来,同样的方式,分别对CppUnitTestMain与HostApp进行编译运行,

CppUnitTestMain是一个基于文本方式的单元测试环境,

HostApp也是对于CppUnit自身的测试,向我们演示的是各种失败的测试,所以结果是红色


微信图片_20230701155159.png微信图片_20230701155156.png



4.CppUnit的使用

1.创建一个基于对话框的MFC工程BinaryCppUnit


微信图片_20230701155135.png


2.配置工程

(1)打开RTTI开关:“工程”->“设置”->“C/C++”->“C++Language”,选中左上角的Settings For的

“所有配置”,然后选择打开RTTI开关【RTTI(运行时类型识别)主要提供了运行时确定类对象类型的方法】


微信图片_20230701155114.png


(2)在Use run-time library一栏中,针对debug和release版本分别设置为

‘Debug Multithreaded DLL’和‘Multithreaded DLL’;【CppUnit所用的动态运行库均为多线程动态库,

单元测试程序也得使用相应设置,否则会发生冲突】

1

2

3

微信图片_20230701155110.png


(3)连接正确的lib:“工程”->“设置”->“连接”,针对左上角Settings For的选择进行相对应的填写,

选择“Win32 Debug”后在‘Object/library modules’中填写cppunitd.lib testrunnerd.lib,

选择“Win32 Release”后在‘Object/library modules’中填写cppunit.lib TestRunner.lib。


微信图片_20230701155045.png

(4)将/lib 目录下的testrunnerd.dll和TestRunner.dll文件分别拷贝到UnitTest priject的程序

debug和release版本输出目录中,如果发现没有debug和release文件夹,先分别进行debug

和release后即可。

微信图片_20230701155039.png

3.开始进行测试框架的编写

(1)建立一个工程,命名为BinaryCppUnit。

(2)新建类:CBinaryTestCase,派生于CppUnit::TestCase。具体步骤为:右键单击CBinaryTestCase classes选new class。


微信图片_20230701155020.png

(3)添加成员函数:void  factorialTest()。右键单击CBinaryTestCase选第二项

1

微信图片_20230701155018.png


(4)在函数中添加函数体。

CPPUNIT_ASSERT_EQUAL是一个宏,在它的两个参数不相等的时候,会抛出异常.



微信图片_20230701154956.png

(5)在CBinaryTestCase类的定义头文件,添加头文件与测试相关的代码

1

微信图片_20230701154958.png


(6)在CBinaryTestCase.cpp文件中,进行注册测试的suite

1

微信图片_20230701154937.png


(7)在BinaryCppUnit.cpp中添加相关的运行界面代码以及头文件

1

微信图片_20230701154935.png


   (8)创建被测试代码

1

微信图片_20230701154917.png

相关文章
|
6月前
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
144 0
「SharpC2学习」EXE载荷生成流程
「SharpC2学习」EXE载荷生成流程
|
C++
将QT的工程迁移至VS下进行编译
将QT的工程迁移至VS下进行编译
57 0
西门子S7-200 SMART项目的编译、如何下载、运行调试、上传项目
上篇文章中我们学习了西门子S7-200 SMART如何切换编程编辑器、输入LAD程序以及如何编辑程序,本篇我们来介绍编程软件STEP7-Micro/WIN SMART中项目的编译、下载、运行调试和上传。
西门子S7-200 SMART项目的编译、如何下载、运行调试、上传项目
|
IDE 开发工具 C++
MDK5软件入门之——基础工程创建及下载和调试
MDK5软件入门之——基础工程创建及下载和调试
416 0
MDK5软件入门之——基础工程创建及下载和调试
|
传感器 芯片
MicTR01 Tester 开发套件(工程监测仪器开发)使用说明
MicTR01 是专门为稳控科技的系列振弦模块 VM5/6/7和电子标签读写模块 TR01 开发测试、开发套件。使用 STC8 位 51 单片机为核心部件,演示上述各个型号模块的基本用法,包括了模块使用时的硬件连接和软件驱动的常规方法。也可以使用本套件的公开技术资料自行编写代码在套件上进行软硬件测试。
MicTR01 Tester 开发套件(工程监测仪器开发)使用说明
vc6工程打开辅助工具(让你的工程可以多开)
vc6工程打开辅助工具(让你的工程可以多开)
151 0
|
Apache Java 应用服务中间件
|
Java Android开发
Eclipse安装使用初始化工作事项
Eclipse安装使用初始化工作事项
226 0
Eclipse安装使用初始化工作事项
|
开发框架 Java jenkins
星云测试插装编译流程与CI集成
星云测试Horn插装采用脚本配置方式自动对语法进行扫描和插装,在整个插装过程中需要用到星云提供的插件工具。通过与CI集成,在CI编译前通过jenkins调用星云插装插件模块进行必要的数据填充,生成对应的项目插装脚本,即可以通过星云插装插件进行项目插装与编译。
936 0