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 = ,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的安装和简单的单元测试的更多相关文章
- Visual Studio 2015的安装和简单的测试
首先是Visual Studio 2015的安装 Visual Studio是微软开发的一套基于组件的软件开发工具,目前最新的版本是2015. 在 I Tell you 网站下载Visual Stud ...
- 第三次作业 (一)----------------------Visual Studio 2015的安装及单元测试
这是第三周的第一个作业,Visual Studio 2015的安装及单元测试. 我的电脑之前安装过Visual Studio 2015,但是在安装过程中我从来没有留意过各种注意事项,所集正好借此作业的 ...
- Visual Studio 2015的安装及单元测试练习
第一部分:Visual Studio 2015的安装 我电脑系统是win10,所以安装的是Visual Studio 2015,安装步骤部分截图如图所示: 1.安装类型选项界面:可以选择默认安装,可以 ...
- Visual Studio 2015的安装与基本使用
为什么要使用Visual Studio 2015? 它是中文的.界面友好.自动补全.实时语法错误提示(上图中波浪线部分).单步调试……最重要的社区版是免费的!所以你不必再使用破解的.老旧的的不兼容现代 ...
- 解决Visual C++ Redistributable for Visual Studio 2015的安装问题
1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows ...
- Visual Studio 2015上安装Entity Framework Power Tools
Entity Framework Power Tools是个非常好用的EF Code First插件.通过它能够非常简单地生成和数据库结构匹配的model和dbcontext代码.使用的方法,这里有介 ...
- Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
尽管QT5.5.1和VisualStudio 2015都已经发布很久了,但是QT项目组视乎不会为QT5.5.1专门发布预编译的QT5.5.1 for windows(2015)版本的,也不会专门发布V ...
- Microsoft Visual Studio 2015 python 安装 mysql-python 出错解决
Microsoft Visual Studio 2015 安装 python 连接包 mysql-python出错 第一种 pip安装方式 安装Microsoft Visual C++ Compi ...
- Visual studio 2015 Community 安装过程中遇到问题的终极解决
早就有给自己电脑升级VS的想法,可是安装过程并不顺利,一直拖到现在,昨天下定决心,把遇到的问题一个个解决,终于安装成功了,将安装过程中遇到的问题和解决方法记录一下. 需要说明一下的是,不同的电脑环境可 ...
随机推荐
- jQuery 使用ajax,并刷新页面
<script> function del_product_information(id) { $.ajax({ url: "{% url 'del_product_inform ...
- js之上传文件多图片预览
多图片上传预览功能也是现在非常常用的 下面是html代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head&g ...
- asdm不能登录问题;浏览器必须是ie,不能是chrome或者firefox;java的版本,尤其是安全等级和例外需要调整
asdm不能登录问题:浏览器必须是ie,不能是chrome或者firefox;java的版本,尤其是安全等级和例外需要调整
- nginx静态文件缓存的解决方案
nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级nginx的缓存,可以进一步提升访问效率. 第一步:添加nginx.conf的http级别的缓存配置 # ...
- lua-resty-gearman模块
粘贴一段百度对gearman的解释: Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. lu ...
- OpenCV——SIFT特征检测与匹配
SIFT特征和SURF特征比较 比较项目 SIFT SURF 尺度空间极值检测 使用高斯滤波器,根据不同尺度的高斯差(DOG)图像寻找局部极值 使用方形滤波器,利用海森矩阵的行列式值检测极值,并利用积 ...
- websocket python实现原理
""" pip install ws4py """ import json from ws4py.client.threadedclient ...
- JAVA调用FTP上传文件
import java.io.File; import java.io.FileInputStream; import org.apache.commons.net.ftp.FTP; import o ...
- 警惕ASP.NET MVC中的ValidateInputAttribute
最近在做一个ASP.NET MVC项目的时候发现,有一个Controller的Action死活都没法接收到从客户端提交过来的Html表单请求和数据,后来才发现是因为默认情况下ASP.NET MVC在执 ...
- 在win10下使用docker快速搭建ruby开发环境
docker在windows下发力的时候必将取代各种虚拟机,并改变程序员的开发习惯,或许还会改变infra的工作. 概要: 在Windows下搭建开发环境一直是infra(我)头疼的事情.为了解决这个 ...