何为单元测试

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

首先是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 = ,ny = ,nExpect = ;
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

Visual Studio 2015的安装和简单的单元测试的更多相关文章

  1. Visual Studio 2015的安装和简单的测试

    首先是Visual Studio 2015的安装 Visual Studio是微软开发的一套基于组件的软件开发工具,目前最新的版本是2015. 在 I Tell you 网站下载Visual Stud ...

  2. 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试

    这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...

  3. Visual Studio 2015的安装及单元测试练习

    第一部分:Visual Studio 2015的安装 我电脑系统是win10,所以安装的是Visual Studio 2015,安装步骤部分截图如图所示: 1.安装类型选项界面:可以选择默认安装,可以 ...

  4. Visual Studio 2015的安装与基本使用

    为什么要使用Visual Studio 2015? 它是中文的.界面友好.自动补全.实时语法错误提示(上图中波浪线部分).单步调试……最重要的社区版是免费的!所以你不必再使用破解的.老旧的的不兼容现代 ...

  5. 解决Visual C++ Redistributable for Visual Studio 2015的安装问题

    1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...

  6. Visual Studio 2015上安装Entity Framework Power Tools

    Entity Framework Power Tools是个非常好用的EF Code First插件.通过它能够非常简单地生成和数据库结构匹配的model和dbcontext代码.使用的方法,这里有介 ...

  7. Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)

    尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...

  8. Microsoft Visual Studio 2015 python 安装 mysql-python 出错解决

    Microsoft Visual Studio 2015 安装 python 连接包 mysql-python出错   第一种 pip安装方式 安装Microsoft Visual C++ Compi ...

  9. Visual studio 2015 Community 安装过程中遇到问题的终极解决

    早就有给自己电脑升级VS的想法,可是安装过程并不顺利,一直拖到现在,昨天下定决心,把遇到的问题一个个解决,终于安装成功了,将安装过程中遇到的问题和解决方法记录一下. 需要说明一下的是,不同的电脑环境可 ...

随机推荐

  1. zabbix_windowsagent_cpu

    zabbix的WEB端--配置-模板--Template OS Windows--项目--创建项目 名称:UserPerfCountercpu 键值:UserPerfCountercpu 数据类型:数 ...

  2. nginx反向代理和tomcat集群(适用于ubutnu16.04及其centos7)

    下面示例,本人亲测有效 为什么要反向代理和集群? 因为并发问题,很多请求如果全部分发给一个tomcat,一个tomcat优化最好的话,据说可达到800负载,但是面对成千上万的请求,单单一个tomcat ...

  3. Android7.0调用系统相机拍照、读取系统相册照片+CropImageView剪裁照片

    Android手机拍照.剪裁,并非那么简单 简书地址:[我的简书–T9的第三个三角] 前言 项目中,基本都有用户自定义头像或自定义背景的功能,实现方法一般都是调用系统相机–拍照,或者系统相册–选择照片 ...

  4. 开源仓库Harbor搭建及配置过程

    1.Harbor介绍 Harbor是Vmvare中国团队开发的开源registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务. 2.安装 ...

  5. 调用类java.lang.Math的成员方法"public static double random"运算下面表达式10000次,统计其中生成的整数0,1,2,.....20的个数分别是多少,并输出统计结果.(int)(Math.random()*20+0.5)

    public class Test2 { public static void main(String args[]){ int num; int count[]=new int[21]; for(i ...

  6. nodejs 模板引擎jade的使用

    1.test.jade文件 html head style body div.box div#div1 div aaa div(class="aaa left-warp active&quo ...

  7. 蓝桥杯 历届试题 约数倍数选卡片 (经典数论+DFS)

    闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可 ...

  8. 微信小程序开发 [03] 事件、数据绑定和传递

    1.事件绑定 在微信小程序中,事件的绑定依附于组件,当事件触发时,就会执行事件对应的处理函数. 我们回到前几章中的例子,将index页面调整为首页(app.json中调整pages数组元素的顺序),此 ...

  9. ETH—Lwip以太网通信

    第39章     ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...

  10. Mac软件推荐

    其他: AP文档浏览器+代码片段管理工具:Dash 抓包工具:Charles  使用教程:http://www.cnblogs.com/dsxniubility/p/4621314.html 音乐播放 ...