Visual Studio 2015的安装和简单的单元测试

何为单元测试

绝大多数的软件都是由多人合作完成的,大家的工作相互有依赖关系。软件的很多错误都来源于程序员对模块功能的误解、疏忽或不了解其他模块的变化。如何能让自己负责的模块功能的定义尽量的明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的、量化的保证?单元测试就是一个很有效的解决方案。

首先是Visual Studio 2015的安装

Visual Studio是微软开发的一套基于组件的软件开发工具,目前最新的版本是2015。

  • 在 I Tell you 网站下载Visual Studio 2015 社区版。网址:http://www.itellyou.cn/。

  • 待下载完毕之后解压,一共包含四个文件或文件夹。双击.exe文件开始安装。

  • 开始安装界面:

  • 选择安装位置和安装类型:这里安装位置选择在:D:\Program Files (x86)\Microsoft Visual Studio 14.0目录下,安装类型选择自定义。点击下一步。

  • 根据跟人情况选择需要安装的功能,由于作业需要,这里编程语言需选择Visual C++。点击下一步。

  • 预览所选择的功能。点击安装。

  • 等待安装完成。

  • 安装完成,需重启电脑。

至此,已经完成Visual Studio 2015的安装。

  • 简单的单元测试
  • 在Visual Studio 2015中建立项目

新建一个“Win 32控制台应用程序”,命名为“UnitTest”。

文件->新建->项目:

 

已安装->Visual C++ ->Win32 控制台应用程序->名称:“UnitTest”。点击确定。

Win32 应用程序向导:点击写一步。

Win32 应用程序向导:点击完成。

添加头文件和源文件。并编写代码。

头文件头文件上右击->添加。

添加头文件:AddFunc.h。

添加源文件:AddFunc.cpp。

同方法,添加头文件:SubFunc.h和源文件SuaFunc.cpp、main.cpp。

头文件AddFunc.h代码:

//AddFunc.h
#ifndef _ADD_FUNC_H_
#define _ADD_FUNC_H_

int AddFunc(int x, int y);

#endif

 

源文件AddFunc.cpp代码:

//AddFunc.cpp
#include "Addfunc.h"

int AddFunc(int x, int y)
{
    return x + y;
}

 

头文件SubFunc.h代码:

//SubFunc.h
#ifndef _SUB_FUNC_H_
#define _SUB_FUNC_H_

int SubFunc(int x, int y);

#endif

 

源文件SubFunc.cpp代码:

//SuaFunc.cpp
#include "SubFunc.h"

int SubFunc(int x, int y)
{
    return x - y;
}

 

编译链接此工程,生成一序列的obj文件。并对各个函数进行单元测试。

  • 建立单元测试项目

选择已安装->Visual C++ ->测试->托管测试项目“UnitTest_1”。点击确认。

建立单元测试项目后的解决方案资源管理器:

单元测试项目中的源文件“UnitTest”中的代码:

添加加法的头文件“AddFunc.h”。

更改测试方法的函数名称“void TestMethod1()”为“void testMethodAddFunc()”,并添加代码:

            int nx = 2,ny = 2,nExpect = 4;
            int nReal = AddFunc(nx,ny);
            Assert::AreEqual(nReal, nExpect);

 

把加法的obj文件包含进来。

在测试工程上右击->属性->配置属性->连接器->输入->添加依赖项右面下箭头->编辑。

输入加法的obj的目录:..\UnitTest\Debug\AddFunc.obj,点击确定。

  • 运行测试项目

测试项目“UnitTest_1”上右击->属性->配置属性->常规->公共语言运行时支持。选择如下。单击确定。

 

打开测试资源管理窗口:

测试资源管理器:

在测试资源管理器窗口点击全部运行。运行结果如下:若单元测试的结果正确,则单元测试的方法左面会提示一个绿色的勾,否则提示一个红色的叉。

同方法,添加减法的单元测试方法。

附:函数Assert::AreEqual()的功能是验证指定的值是否相等。详细方法说明参见:https://msdn.microsoft.com/zh-cn/library/microsoft.visualstudio.testtools.unittesting.assert.areequal.aspx

posted @ 2016-03-18 15:19  明明VISION  阅读(1898)  评论(3编辑  收藏  举报