VS2017中对C++的单元测试

安装Visual Studio 2017

<font face="微软雅黑" size=“3”>因为平时都是用codeblock,所以电脑中没有装VS系列的IDE,就从安装开始吧</font> <font face="微软雅黑" size=“3”>最开始安装的时候没有注意什么都没选,安装完了之后根本没有c++的编译器和各项组件............</font> <font face="微软雅黑" size=“3”>上图就是啥都没安装...要否则怎么安装包只有一百多MB.....</font> <font face="微软雅黑" size=“3”>历经千辛万苦终于装完了。那么下一步就开始单元测试吧。</font>ios


对C++进行单元测试

<font face="微软雅黑" size=“3”>首先先创建一个工程,分别编写cpp和头文件,下图是我刚开始编写的程序,仅仅写了cpp文件,没有自定义头文件,下面的代码是我后写的</font> c++

<font face="微软雅黑" size=“3”>最终cpp文件中的代码以下:</font>函数

#include<iostream>
#include"test.h"
using namespace std;

int Cal::add(int x, int y)//返回两个变量的和
{
	return x + y;
}

int Cal::sub(int x, int y)//返回两个变量的差
{
	return x - y;
}

int main()
{
	return 0;
}

<font face="微软雅黑" size=“3”>最终头文件test.h中的代码以下:</font>单元测试

class Cal {//计算类
public:
	int add(int x, int y);
	int sub(int x, int y);
};

<font face="微软雅黑" size=“3”>肯定代码无误后,右键点击“解决方案”->"添加"->“新建项目”,以下图所示</font> 学习

<font face="微软雅黑" size=“3”>紧接着在弹出的页面选择“本机单元测试项目”</font> 测试

<font face="微软雅黑" size=“3”>此时左侧的状态栏出现了单元测试的项目,“UnitTest1”</font> spa

<font face="微软雅黑" size=“3”>右键选中引用,点击“添加引用”,以下图所示</font> 3d

<font face="微软雅黑" size=“3”>勾选须要引用的项目,也就是须要测试的项目</font> code

<font face="微软雅黑" size=“3”>接下来开始编写测试程序,以下图所示</font> blog

<font face="微软雅黑" size=“3”>而后操做以下图,可是...........</font>

<font face="微软雅黑" color=#0000FF> 去 世 了</font>

<font face="微软雅黑" size=“3”>通过一番不懈的查找努力终于找到了问题所在...没有引入须要测试项目的头文件.....下图为改正后的测试代码</font>

<font face="微软雅黑" size=“3”>那么再测试一次吧...应该没事了吧......</font>

<font face="微软雅黑" color=#0000FF>又 去 世 了</font>

<font face="微软雅黑" size=“3”>其实问题出在了这里...右键测试项目,而后选择属性</font>

<font face="微软雅黑" size=“3”>选择“连接器”->"输入"->"选择依赖项"</font>

<font face="微软雅黑" size=“3”>能够看到我输入的是须要测试项目的obj文件的路径,可是写的倒是*.obj,至关于选择该文件夹下全部obj文件</font>

<font face="微软雅黑" size=“3”>可是打开对应的文件夹后,发现有两个obj文件.....缘由是由于最先创建项目时使用了默认名称,可是为了引用成功我给改为了英文名...所以有两个obj文件,系统不肯定究竟是哪个文件(你妹)</font>

<font face="微软雅黑" size=“3”>因而乎回去修改依赖项...改为肯定的文件......</font>

<font face="微软雅黑" color=#0000FF >终 于 运 行 成 功 了</font>

<font face="微软雅黑" size=“3”>这里说一下,Assert::AreEqual函数是肯定是否两个数相等的操做,若是两个数不相等,那么将不会经过测试,可是运行能够成功,以下图所示,3-5=-2,不知足的话就不能经过测试</font>

总结

<font face="微软雅黑" size=“3”>经过学习vs2017的单元测试,我掌握了进行单元测试的的基础方法,在错误中成长,学会了很多东西,争取在这以后快速的根据别人的博客学会更多的测试技术(好比一个类在运行时还要引用新的文件,那么依赖项仍是要进行修改),也让我意识到了自学是进步最快的方法,多读别人的博客可能就会学会不少东西,所以要虚心好学。</font>

相关文章
相关标签/搜索