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做单元测试的更多相关文章

  1. spring junit 做单元测试,报 Failed to load ApplicationContext 错误

    spring junit 做单元测试,报 Failed to load ApplicationContext 错误. 查找了好一会,最后发现.@ContextConfiguration(locatio ...

  2. 使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹

    使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...

  3. 使用karma+jasmine做单元测试

    目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...

  4. 使用MS Test做单元测试

    声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...

  5. 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)

    持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...

  6. xcode 5 使用 XCTest 做单元测试

    xcode 5 使用 XCTest 做单元测试 什么是单元测试,请看 百度百科 单元测试 一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试:如今在xcode5,我们新建立的项目默认就 ...

  7. Web项目如何做单元测试

    你可能会用单元测试框架,python的unittest.pytest,Java的Junit.testNG等. 那么你会做单元测试么!当然了,这有什么难的? test_demo.py def inc(x ...

  8. 基于Springboot+Junit+Mockito做单元测试

    前言 前面的两篇文章讨论过< 为什么要写单元测试,何时写,写多细 >和<单元测试规范>,这篇文章介绍如何使用Springboot+Junit+Mockito做单元测试,案例选取 ...

  9. EnvironmentPostProcessor怎么做单元测试?阿里P7解答

    简介 从Spring Boot 1.3开始,我们可以在应用程序上下文刷新之前使用EnvironmentPostProcessor来自定义应用程序的Environment.Environment表示当前 ...

随机推荐

  1. python 用户注册用户名

    实现用户注册网站,编辑用户名时判断是否已经存在: 若存在则提示“The name you used have already existed,please change your name” 若不存在 ...

  2. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  3. Tomcat优化(心得经验)

    最近用httpclient做performance testing时,发现当线程加到150时服务端就会抛出socket资源用尽的错误,根本没法再往上加,响应的速度也是相当的慢,后来经过研究,发现在se ...

  4. Ubuntu16.04安装CDH5.14.2

    一.安装cloudera manager(下文简称cm) (一).环境及软件准备: 1.环境:Ubuntu16.04 desktop x 3 台 ip分别为:10.132.226.121,10.132 ...

  5. Linux命令—tar

    day 7:tar压缩.解压缩.打包.解包命令 区分打包和压缩:打包是指将一大堆文件或目录变成一个总的文件:压缩则是将一个大的文件通过一些压缩算法变成一个小文件. 为什么要区分这两个概念呢?这源于Li ...

  6. 用树莓派和DS18B20做个汽车温度记录仪[原创]

    用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况.觉得用树莓派和DS18B20来实现应该很简单,于是就尝试捣鼓了一下,半天时间就搞定了,写 ...

  7. 课上实践练习——MyOd

    编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 Linux下od -tx -tc XXX的功能 1.功能 od命令用于将指定文件内容以八进制.十 ...

  8. 【转载】深入理解Direct3D9

    原文:Effulgent的<深入理解Direct3D9>整理版(转) 深入理解Direct3D9 深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有 ...

  9. day2 CSS- 选择器

    1.CSS 语法 css是英文Cascading Style Sheets的缩写,称为层叠样式表 2.css的四种引入方式 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现 ...

  10. pycharm设置github

    1.打开file,选择settings,找到Version Contorl,打开找到GitHub ,HOST填github.com,用户名,密码,test,稍等一会,会提示成功 2. 设置好以后 打开 ...