VS2012 C++单元测试和代码覆盖率

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VS2012 C++单元测试和代码覆盖率

1VS2012下C++代码简单单元测试

在网上关于VS2008 VS2010 VS2012的单元测试几乎都是关于C#的单元测试,我测试了一下,C#的单元测试确实好用,然而关于C++的单元测试很少,在这里我来简单的介绍一下步骤。普通的工程关键步骤是要包含头文件和obj文件;如果是要测试静态库或者动态库,关键步骤是要包含头文件和lib文件。

1.1在VS2012中建立要测试的简单的工程

在这里要测试的代码建立如下:

新建一个“Win32控制台应用程序”,默认它的名称“ConsoleApplication1”,

图表1-1新建“Win32控制台应用程序”

图表1-2进入向导

图表1-3进入向导2

在“进入向导2”中选择“空项目”。然后按“完成”。

然后添加头文件和源代码文件,文件目录如下:

图表1-4简单代码目录结构下面是具体的代码:

//AddFunc.h

#ifndef __ADD_FUNC_H__

#define__ADD_FUNC_H__

int AddFunc(int a, int b);

#endif

//AddFunc.cpp

#include"AddFunc.h"

int AddFunc(int a, int b)

{

return a + b;

}

//MultiFunc.h

#ifndef __MULTI_FUNC_H__

#define__MULTI_FUNC_H__

int MultiFunc(int a, int b);

#endif

//MultiFunc.cpp

#include"MultiFunc.h"

int MultiFunc(int a, int b)

{

return a * b;

}

//SubFunc.h

#ifndef __SUB_FUNC_H__

#define__SUB_FUNC_H__

int SubFunc(int a, int b);

#endif

//SubFunc.cpp

#include"SubFunc.h"

int SubFunc(int a, int b)

{

return a - b;

}

//main.cpp

#include"AddFunc.h"

#include"SubFunc.h"

#include"MultiFunc.h"

int main(int argc, char* argv[])

{

return 0;

}

编译链接此工程,生成一系列的obj文件。在这里我要对上面的函数进行单元测试。

1.2建立测试工程

选中“解决方案”ConsoleApplication1 (1个项目)”后右键点击,选中“添加”->“新建项目”,如“图表1 5新建测试工程”所示。

图表1-5新建测试工程

选择“测试”->“托管测试项目”,输入名称“UnitTest_First”,按“确定”

图表1-6新建UnitTest1测试工程

建立测试工程后的目录结构如“图表1 7建立测试工程后的目录结构”所示

图表1-7建立测试工程后的目录结构

选中测试工程中的“UnitTest.cpp”源文件,打开看一下代码如图“”所示。

图表1-8 源文件UnitTest.cpp 的代码

主要用的测试模块在

using namespace Microsoft::VisualStudio::TestTools::UnitTesting;

中。

1.3编写测试工程中的测试代码

先编写一个对于加法的简单测试代码,在“void TestMethod1()”下添加如下测试代码:int na = 1, nb = 3, nExpect = 4;

int nReal = AddFunc(na, nb);

Assert::AreEqual(nReal, nExpect);

当然得把加法的头文件包含过来。

#include"../ConsoleApplication1/AddFunc.h"

添加头文件和代码后的代码如图“图表 1 9添加头文件后的代码”和“图表 1 10添加测试加法源代码后的代码”所示。

图表1-9添加头文件后的代码

图表1-10添加测试加法源代码后的代码

还得把加法的obj文件包含进来。添加方法如图“图表 1 10添加被测试工程的obj”所示。

图表1-11添加被测试工程的obj

描述:

选中测试工程“UnitTest_First”右击,“配置属性”->“链接器”->“输入”->“附加依赖项”->“<编辑…>”,输入

“..\ConsoleApplication1\Debug\AddFunc.obj”

1.4运行测试工程查看结果

1.4.1设置“公共语言运行时支持”

如图“图表1 11设置公共语言支持方法”所示。

图表1-12设置公共语言支持方法

描述:

选中测试工程“UnitTest1”右击,选择“属性”,“配置属性”->“常规”->“公共语言运行时支持”->“公共语言运行时支持(/clr)”,按确定。

1.4.2打开“测试资源管理器”

打开方法如图“图表1 12打开“测试资源管理器”步骤”所示。

相关文档
最新文档