VS2015做单元测试
1.安装测试插件


2.新建测试用例
这里就用课堂练习找水王 作例子
写一个类waterKing.h和waterKing.cpp
//idList.h
#pragma once
#include<iostream>
using namespace std;
class idList
{
private:
int id[]; //发帖ID
int waterKing; //当前水王
int value = ; //当前水王水的可能性
int num; //帖子数
public:
idList(int num,int id[]);
~idList();
int searchwaterKing();
};
//idList.cpp
#include "idList.h" idList::idList(int num, int id[])
{
if (num <= )
{
cout << "非法的输入";
exit();
}
this->num = num;
for (int i = ; i < num; i++) {
this->id[i] = id[i];
}
} idList::~idList()
{
} int idList::searchwaterKing() //返回-1代表没有水王,否则返回水王的ID
{
if (num % ) //奇数
{
for (int i = ; i < num; i += )
{
if (value > ) //当前水王存在
{
if (id[i] == id[i + ])
{
if (id[i] == waterKing)
{
value += ;
}
else
{
value -= ;
}
}
}
else //当前水王不存在
{
if (id[i] == id[i + ])
{
waterKing = id[i];
value += ;
}
}
} if (value > )
{
if (id[] == waterKing)
{
value++;
}
else
{
value--;
}
}
else
{
waterKing = id[];
value = ;
} }
else //偶数
{
for (int i = ; i < num; i += )
{
if (value > ) //水王存在
{
if (id[i] == id[i + ])
{
if (id[i] == waterKing)
{
value += ;
}
else
{
value -= ;
}
}
}
else //水王不存在
{
if (id[i] == id[i + ])
{
waterKing = id[i];
value += ;
}
}
}
}
if (value > )
{
return waterKing;
}
else
{
return -;
}
}
写完代码之后记得编译一下,会在项目DEBUG目录下生成OBJ文件
3. 右击解决方案->"添加"->"新建项目"->"测试"->"托管测试项目"

新建之后再解决方案下就会出现一个刚刚新建的测试项目

在UnitTest.cpp下添上引用

在下面的[TestMethod]里编写自己的测试代码
[TestMethod]
void TestMethod1()
{
int list[] = {};
idList test1(sizeof(list)/sizeof(int), list);
int result = test1.searchwaterKing();
Assert::AreEqual(result, );
}; [TestMethod]
void TestMethod2()
{
int list[] = { ,, };
idList test1(sizeof(list) / sizeof(int), list);
int result = test1.searchwaterKing();
Assert::AreEqual(result, );
}; [TestMethod]
void TestMethod3()
{
int list[] = { ,,,, };
idList test1(sizeof(list) / sizeof(int), list);
int result = test1.searchwaterKing();
Assert::AreEqual(result, );
}; [TestMethod]
void TestMethod4() //该测试应该是不相等的
{
int list[] = { ,,, };
idList test1(sizeof(list) / sizeof(int), list);
int result = test1.searchwaterKing();
Assert::AreNotEqual(result, -);
}; [TestMethod]
void TestMethod5() //该测试应该是不相等的
{
int list[] = { ,,,, };
idList test1(sizeof(list) / sizeof(int), list);
int result = test1.searchwaterKing();
Assert::AreNotEqual(result, -);
};
右击测试项目->属性->链接器->输入->附加依赖项->编辑
添加自己刚刚编译生成的OBJ

然后就可以点击菜单栏的测试菜单,进行相关测试了

Assert::XXX的用法不是很了解,网上一些.NET的测试教程很多,
原文链接 http://www.cnblogs.com/xiaoyongwu/p/5289964.html
VS2015做单元测试的更多相关文章
- spring junit 做单元测试,报 Failed to load ApplicationContext 错误
spring junit 做单元测试,报 Failed to load ApplicationContext 错误. 查找了好一会,最后发现.@ContextConfiguration(locatio ...
- 使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹
使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...
- 使用karma+jasmine做单元测试
目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...
- 使用MS Test做单元测试
声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...
- 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)
持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...
- xcode 5 使用 XCTest 做单元测试
xcode 5 使用 XCTest 做单元测试 什么是单元测试,请看 百度百科 单元测试 一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试:如今在xcode5,我们新建立的项目默认就 ...
- Web项目如何做单元测试
你可能会用单元测试框架,python的unittest.pytest,Java的Junit.testNG等. 那么你会做单元测试么!当然了,这有什么难的? test_demo.py def inc(x ...
- 基于Springboot+Junit+Mockito做单元测试
前言 前面的两篇文章讨论过< 为什么要写单元测试,何时写,写多细 >和<单元测试规范>,这篇文章介绍如何使用Springboot+Junit+Mockito做单元测试,案例选取 ...
- EnvironmentPostProcessor怎么做单元测试?阿里P7解答
简介 从Spring Boot 1.3开始,我们可以在应用程序上下文刷新之前使用EnvironmentPostProcessor来自定义应用程序的Environment.Environment表示当前 ...
随机推荐
- grep基础用法详解
适合初学linux的人学得比较凌乱的人看这个也能理理思路学得更系统,节约你的学习时间,提高效率,但是思维导图的作用是帮人理清思路不会迷失在细节中,细节补充学习请参考https://www.cnblog ...
- maven添加本地jar
maven有时需要添加了一些本地jar,记录下流程 1.在项目名下创建一个文件夹,起名为lib吧,放要的jar放进去 2.然后打开jar在的路径,打开命令窗口,执行 mvn install:insta ...
- Redis的特性以及优势(附官网)
NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世 ...
- laravel Eloquent ORM联合查询出现Class not found,就算在Moel中存在这个类
今天发现一个坑,在处理Eloquent ORM的联合查询时,一直报错Class 'AdminGroup' not found ,可是我的项目中明明存在这个类,如下 这是我的模型类: 它们的控制器方法: ...
- Unity判断鼠标是否在UI(UGUI)上
"EventSystem.current.IsPointerOverGameObject()" UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了 ...
- 【五】安装fcig
安装fcig 安装fcig 此步骤是为了让spawn-fcgi能够识别自定义的demo 编译文件 自定义c文件 测试成功后,启动spawn cgi进行代理托管 此步骤是为了让spawn-fcgi能够识 ...
- 2.4 自己编写一个vivi驱动程序
学习目标:从零编写一个vivi驱动程序,并测试: 一. vivi驱动应用程序调用过程 上节对xawtv对vivi程序调用欧城进行了详细分析,可总结为以下流程: 二.仿照vivi.c编写myvivi.c ...
- SQL学习笔记:函数
SQL函数 AVG select AVG(col) AS avgvalue from tablename select col2 from tablename where col1>(selec ...
- linux内存碎片的概念
一般在内核术语中的“碎片”都是基于物理内存而言的,我没有太看懂你得出碎片是针对地址空间这个结论的逻辑.但我认为,既然你知道了malloc是用户空间调用的,那么你所谓的碎片也是从用户空间的视角而言的,但 ...
- 20155235 《Java程序设计》 实验四 Android开发基础
20155235 <Java程序设计> 实验四 Android开发基础 实验要求 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理 ...