在Visual Studio 2013 中使用C++单元测试

本文主要介绍在Visual Studio 2013中对代码进行单元测试的方法,包含了两方面的内容:对已有的Dll文件进行单元测试,以及对已有的源文件进行单元测试。

 

1. VS2013对DLL文件的单元测试

对已有的dll文件进行单元测试。

  • 首先,新建一个待测试的DLL项目CalculationDll,共包含3个文件: CalculationDll.cpp、CalculationDll.h、CalculationDll.def。
  • 然后,新建了一个单元测试项目CalculationTest。
  • 继而,在CalculationTest的项目属性Include Directories中包含了待测DLL项目CalculationDll的目录,
  • 继而,在CalculationTest的项目属性Common Properties > References 中添加了对待测DLL项目CalculationDll的引用
  • 继而,在CalculationTest中包含CalculationDll.h,撰写测试用例Test_Method
  • 最后,BuildCalculationTest项目,打开Test Exploerer,运行测试用例

[1] 创建和编写待测DLL项目 - CalculationDll

新建“Win32 Project”,命名为“CalculationDll”,Solution名称为"TestExample", 类型选择为DLL,空项目。

clipboard.png

新建 cpp文件

clipboard1.png

新建 .h文件

clipboard2.png

新建def文件

clipboard3.png

最后 Build 该项目

[2] 创建Test项目 - CalculationTest

在当前的Solution中添加新的Test项目CalculationTest.

clipboard4.png

[3] Include Directory 包含头文件目录

CalculationTest的项目属性 > VC++ Directories > Include Directories 中添加 CalculationDll的目录

clipboard5.png

[4] 添加项目引用

CalculationTest的项目属性 >Common Properties > References > Add New References > 勾选CalculationDll.

clipboard6.png

[5] 编写测试代码

在CalculationTest 的 unittest1.cpp中编写测试代码,首先包含头文件,然后编写两个测试方法。

clipboard7.png

[6] Build ,运行测试

先Build CalculationDll项目,然后选择菜单“Test” > "Windows" > "Test Explorer" 打开 Test Explorer窗口

clipboard8.png

该窗口中可以运行测试用例

 


2. VS2013中对已有源文件的单元测试

对已有的C++项目中的源码进行单元测试。

  • 首先,新建一个待测试的项目Calculation,共包含2个文件: Calculation.cpp、Calculation.h。
  • 然后,新建了一个单元测试项目MyUnitTest。
  • 继而,在MyUnitTest的项目属性Include Directories中包含了待测项目Calculation的目录
  • 继而,将待测试的Calculation项目中的源码添加到MyUnitTest中
  • 继而,在MyUnitTest中包含Calculation.h,撰写测试用例Test_Method
  • 最后,BuildCalculationTest项目,打开Test Exploerer,运行测试用例

【1】新建待测试项目 - Calculation

新建“Win32 Console Application”类型的Project,名为“Calculation”,Solution 名为"TestExample"。并添加两个简单的函数add和sub,实现加减运算。

clipboard9.png

为了后续测试,先将_tmain函数注释掉。

【2】 添加头文件 - Calculation.h

为了能让add和sub函数可以被Test项目测试,需要新建一个头文件,在头文件中包含这两个函数的声明。这样Test项目就可以包含该头文件从而使用add和sub函数。

如图,头文件为"Calculation.h"

clipboard10.png

在Calculation.cpp 中包含该头文件

clipboard11.png

【3】 新建Test项目 - MyUnitTest

在Solution Explorer 中右键Solution名“TestExample”,选择“Add”> "New Project",新建项目类型为"Test",模板选择“Native Unit Test Project”,命名为"MyUnitTest"

clipboard12.png

【4】 包含目录

在MyUnitTest项目属性的"VC++ Directories" > "Include Directories"中添加 待测项目Calculation的目录。

clipboard13.png

【5】将已有源代码添加到Test项目中

右键"MyUnitTest"项目,选择“Add”> "Existing Item" ,将Calculation.h 和 calculation.cpp 添加到项目

clipboard14.png

【7】 编写测试

在MyUnitTest项目的unittest1.cpp中包含calculation.h ,然后编写两个测试方法TestAdd和TestSub

clipboard15.png

【8】 Build MyUnitTest项目

必须先Build MyUnitTest,才能在下面一步的Test Explorer中看到编写的测试用例

【0】 在Test Explorer中运行测试用例

菜单“Test”> "Windows" > "Test Explorer" 打开Test Explorer.

在这里运行测试用例。

clipboard16.png

 

本文主要讲解了整个测试过程,后续会补充具体的单元测试方法。

参考资料:

Unit testing existing C++ applications with Test Explorer

Unit testing native code with Test Explorer

作者:JarvisChu
原文链接:在Visual Studio 2013 中使用C++单元测试
版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0

发表评论