使用VS2012 C++ 进行单元测试

第一步 使用VS2012新建一个的控制台项目main,编辑main.cpp文件 ,代码如下

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

// main.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

int add(int
a,int b)

{

    return
a+b;

}

int 
minus(int
a,int b)

{

    return
a-b;

}

class
CMath

{

public:

    CMath();

    ~CMath();

    int
mul(int
a,int b);

private:

};

CMath::CMath()

{

}

CMath::~CMath()

{

}

int
CMath::mul(int
a,int b)

{

    return
a*b;

}

int
_tmain(int
argc, _TCHAR* argv[])

{

    return
0;

}

编译 运行正确。

第二步,在解决方案里面添加一个单元测试项目 名称为UnitTestMain,如下图

 

第三步 , 将main工程文件目录 添加到UnitTestMain工程中的包含目录,

解决方案资源管理器 右键单击UnitTestMain工程属性-》VC++目录-》包含目录更改。

第四步,编辑UnitTestMain工程的unittest1.cpp ,代码如下

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

#include "stdafx.h"

#include "CppUnitTest.h"

#include "main.cpp"

using
namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace
UnitTestmain

{      

    TEST_CLASS(NoClass)

    {

    public:

        

        TEST_METHOD(add_Test)

        {

            // TODO: 在此输入测试代码

            Assert::AreEqual(10,add(5,5));

            Assert::AreEqual(1,add(-4,5));

            

            Assert::AreNotEqual(1,add(15,5));

        }

        TEST_METHOD(minus_Test)

        {

            // TODO: 在此输入测试代码

            Assert::AreEqual(0,minus(5,5));

            Assert::AreEqual(-4,minus(1,5));           

            Assert::AreNotEqual(1,minus(5,5));

        }

    };

    TEST_CLASS(CMath_Test)

    {

    private:

        CMath m_math;

    public:

        

        TEST_METHOD(mul_Test)

        {

            // TODO: 在此输入测试代码

            Assert::AreEqual(10,m_math.mul(2,5));

            Assert::AreEqual(15,m_math.mul(3,5));          

            Assert::AreNotEqual(1,m_math.mul(15,5));

        }

    };

}

  代码说明

TEST_CLASS 宏用来填写你用
测试用例的类,名字可以随便写,但切忌不要和待测试代码的类名字相同,你也不想命名冲突吧。所以我一般取名 就是
待测类名_Test,非类函数直接NoClass。

  TEST_METHOD 宏用来定义被测试方法的函数,名字也可以随便写。  

  给出了 一般非类测试,和类单元测试的简单代码。当然类的成员变量也可以定义测试函数中。

 

第五步, 编译,生成,运行UnitTestMain工程。

   在解决方案资源管理器中 右键单击UnitTestMain-》生成

   菜单中 测试-》运行-》所有测试,

  菜单中 测试 -》 窗口-》 测试管理器 中查看测试结果,或者测试代码覆盖率

  

  另外在测试工程中的测试源文件中,在测试函数中可以鼠标右键-》运行测试  只测试某一个测试函数。

  最后附上测试结果图

使用VS2012 C++ 进行单元测试,布布扣,bubuko.com

时间: 2024-12-24 09:44:05

使用VS2012 C++ 进行单元测试的相关文章

打开VS2012的创建单元测试功能

在VS2010中,需要建立单元测试的时候可以很方便的通过右键->创建单元测试产生, 而在VS2012中,第一次进去是看不到这个选项的,并非微软拿掉了这么好用的功能,而是隐藏掉了. 下面介绍打开的方法: 1.第一步,选择[工具]->[自定义] 2.找到创建单元测试 3.下移 4.此时编辑器已经可以看到单元测试,但是却是黑色的,不用着急,接着往下看. 5.在解决方案中新建一个单元测试项目 6.添加一个单元测试 7.这时候再去类里面,会看到单元测试已经可以点击 8.点击创建,会自动生成所选择的方法的

Selenium WebDriver 学习笔记

1. 打开VS2012 2. 新建工程(单元测试工程或控制台程序都可以, 看需求) 3. 工具->NuGet程序包管理器->程序包管理器控制台 4. 输入"Install-Package Selenium.WebDriver"安装程序包 5. 输入"Install-Package Selenium.WebDriverBackedSelenium"安装程序包 6. 输入"Install-Package Selenium.Support"

VS2012 创建单元测试

很多人对单元测试都有错误的理解.认为单元测试太费时间,影响进度.实际上真正做项目才发现,敲代码并不花多长时间,反倒是调bug很费时间.如果有了单元测试,从第一开始就测试到位的话,它反倒给咱们节省了开发时间.关于单元测试还有更深层的意义.1 它是一种设计 2 是一种项目进度监控的工具.3 也是学习开源项目最佳的工具. 当然单元测试的工具有很多,下面我们一块来看一下VS2012 的单元测试步骤. 第一步:配置测试的环境. VS2010的 就可以直接跳过这一步.在类或方法上右键是可以直接看到的.但是V

项目中创建单元测试—VS2012

我们在每个项目的开发过程中,开发完一个功能,自己首先需要测试一下,VS提供了很方便的测试功能,可以很容易的创建单元测试,但是在VS2012中类名上点击右键没有『创建单元测试』这个菜单,需要先进行设置一下才会出来,选择VS上的菜单『工具』-『自定义』,如下图: 然后选择『命令』-『上下文菜单』-『编辑器上下文菜单|代码窗口』: 然后找到『创建单元测试』,将其移动到如下位置: 然后先关闭VS2012,然后重新打开项目,现在在类名上右键点击就可以看到『创建单元测试』,但是还是灰色的,处于禁用状态: 现

VS2012添加单元测试

在搞白盒测试的过程中,想要加入单元测试选项,右击-选项 会看到下图: 下面我来讲一下解决方法: 1.工具--自定义 2.上下文菜单--编辑器上下文菜单|代码窗口: 3.将"创建单元测试"移到运行测试菜单下面 4.关闭VS并重启       重启→对着类名点击右键,出现灰色"创建单元测试"按钮 5.解决方案中右键→添加→新建项目→单元测试项目. 6.效果图如下: 7.右键单元测试项目→添加→单元测试 8.返回非测试项目项目→类名,点击右键→ 创建单元测试 9.注意:如

Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc

Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. Visual Studio 972 1.3. Visual Studio 6.02 1.4. Vs20022 1.5. Vs20032 1.6. Vs20052 1.6.1. 数据访问  Web开发     Windows Forms 方面的开发特性增强2 1.6.2. Refactoring 2

.NET单元测试

TDD(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码.单元测试是最基本的测试步骤.位于整个产品开发流程V模型的最底部. 大致如图,在各种开发流程中RA&PSD完成后,无需底层基础,UAT方案即可完成,下面的步骤也一样.UT做为底层和CODING同样重要的步骤,是每个CODER必须掌握的基础. RA( Requirement Analys

Visual Studio 中的单元测试 UNIT TEST

原文:Visual Studio 中的单元测试 UNIT TEST 注:本文系作者原创,可随意转载,但请注明出处.如实在不愿注明可留空,强烈反对更改原创出处. TDD(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码.单元测试是最基本的测试步骤.位于整个产品开发流程V模型的最底部.大致如图,在各种开发流程中RA&PSD完成后,无需底层基础,

【记录】xUnit for vs2012/vs2013

关于 NUint 以及单元测试的相关内容,可以参考:[单元测试]NUint使用详解及Visual Studio配置. xUnit 是 NUint 的进化版本,使用方法和 NUint 类似,首先下载安装一个“xUnit.net runner for Visual Studio 2012 and 2013”,下载地址:http://visualstudiogallery.msdn.microsoft.com/463c5987-f82b-46c8-a97e-b1cde42b9099,然后使用 NuGe