1.安装测试插件

2.新建测试用例

这里就用课堂练习找水王  作例子

写一个类waterKing.h和waterKing.cpp

  1. //idList.h
  2. #pragma once
  3. #include<iostream>
  4. using namespace std;
  5. class idList
  6. {
  7. private:
  8. int id[]; //发帖ID
  9. int waterKing; //当前水王
  10. int value = ; //当前水王水的可能性
  11. int num; //帖子数
  12. public:
  13. idList(int num,int id[]);
  14. ~idList();
  15. int searchwaterKing();
  16. };
  1. //idList.cpp
  2. #include "idList.h"
  3.  
  4. idList::idList(int num, int id[])
  5. {
  6. if (num <= )
  7. {
  8. cout << "非法的输入";
  9. exit();
  10. }
  11. this->num = num;
  12. for (int i = ; i < num; i++) {
  13. this->id[i] = id[i];
  14. }
  15. }
  16.  
  17. idList::~idList()
  18. {
  19. }
  20.  
  21. int idList::searchwaterKing() //返回-1代表没有水王,否则返回水王的ID
  22. {
  23. if (num % ) //奇数
  24. {
  25. for (int i = ; i < num; i += )
  26. {
  27. if (value > ) //当前水王存在
  28. {
  29. if (id[i] == id[i + ])
  30. {
  31. if (id[i] == waterKing)
  32. {
  33. value += ;
  34. }
  35. else
  36. {
  37. value -= ;
  38. }
  39. }
  40. }
  41. else //当前水王不存在
  42. {
  43. if (id[i] == id[i + ])
  44. {
  45. waterKing = id[i];
  46. value += ;
  47. }
  48. }
  49. }
  50.  
  51. if (value > )
  52. {
  53. if (id[] == waterKing)
  54. {
  55. value++;
  56. }
  57. else
  58. {
  59. value--;
  60. }
  61. }
  62. else
  63. {
  64. waterKing = id[];
  65. value = ;
  66. }
  67.  
  68. }
  69. else //偶数
  70. {
  71. for (int i = ; i < num; i += )
  72. {
  73. if (value > ) //水王存在
  74. {
  75. if (id[i] == id[i + ])
  76. {
  77. if (id[i] == waterKing)
  78. {
  79. value += ;
  80. }
  81. else
  82. {
  83. value -= ;
  84. }
  85. }
  86. }
  87. else //水王不存在
  88. {
  89. if (id[i] == id[i + ])
  90. {
  91. waterKing = id[i];
  92. value += ;
  93. }
  94. }
  95. }
  96. }
  97. if (value > )
  98. {
  99. return waterKing;
  100. }
  101. else
  102. {
  103. return -;
  104. }
  105. }

写完代码之后记得编译一下,会在项目DEBUG目录下生成OBJ文件

3. 右击解决方案->"添加"->"新建项目"->"测试"->"托管测试项目"

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

在UnitTest.cpp下添上引用

在下面的[TestMethod]里编写自己的测试代码

  1.      [TestMethod]
  2. void TestMethod1()
  3. {
  4. int list[] = {};
  5. idList test1(sizeof(list)/sizeof(int), list);
  6. int result = test1.searchwaterKing();
  7. Assert::AreEqual(result, );
  8. };
  9.  
  10. [TestMethod]
  11. void TestMethod2()
  12. {
  13. int list[] = { ,, };
  14. idList test1(sizeof(list) / sizeof(int), list);
  15. int result = test1.searchwaterKing();
  16. Assert::AreEqual(result, );
  17. };
  18.  
  19. [TestMethod]
  20. void TestMethod3()
  21. {
  22. int list[] = { ,,,, };
  23. idList test1(sizeof(list) / sizeof(int), list);
  24. int result = test1.searchwaterKing();
  25. Assert::AreEqual(result, );
  26. };
  27.  
  28. [TestMethod]
  29. void TestMethod4() //该测试应该是不相等的
  30. {
  31. int list[] = { ,,, };
  32. idList test1(sizeof(list) / sizeof(int), list);
  33. int result = test1.searchwaterKing();
  34. Assert::AreNotEqual(result, -);
  35. };
  36.  
  37. [TestMethod]
  38. void TestMethod5() //该测试应该是不相等的
  39. {
  40. int list[] = { ,,,, };
  41. idList test1(sizeof(list) / sizeof(int), list);
  42. int result = test1.searchwaterKing();
  43. Assert::AreNotEqual(result, -);
  44. };

右击测试项目->属性->链接器->输入->附加依赖项->编辑

添加自己刚刚编译生成的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. Mysql-表的基本操作

    一 存储引擎介绍 二 表介绍 三 创建表 四 查看表结构 五 数据类型 六 表完整性约束 七 修改表ALTER TABLE 八 复制表 九 删除表 一 .存储引擎介绍 存储引擎即表类型,mysql根据 ...

  2. 新增时json类型报错

    新增时出错:如下 实体类中字段类型没有对应上,vue页面中修改跳转页面的路径:使用params...

  3. ios中input输入无效

    项目中一个登陆界面的input在安卓下可以输入,iOS下无法输入,经查询为 设置了-webkit-user-select:none;将其改为-webkit-user-select:auto;修正. 参 ...

  4. Redis对象类型

    Redis对象类型 Redis基于基础的数据结构创建的对象: 字符串对象. 列表对象. 哈希对象. 集合对象 有序集合对象. 对象回收:Redis对象系统实现了基于引用计数技术的内存回收机制,当程序不 ...

  5. MySQL数据库实验:任务一 创建数据库和表

    目录 任务一 创建数据库和表 [实训目的与要求] [实训原理] [实训步骤] 一.熟悉MySQL环境 二.利用MySQL命令行窗口创建数据库及表 三.利用界面工具创建数据库及表 任务一 创建数据库和表 ...

  6. 大数据分析系统Hadoop的13个开源工具

    Hadoop是由Apache基金会开发的一个大数据分布式系统基础架构,最早版本是2003年原Yahoo!DougCutting根据Google发布的学术论文研究而来. 用户可以在不了解分布式底层细节的 ...

  7. 面试被问到IIC,总结。

    Linux3.5内核中,IIC. i2c_add_driver i2c_register_driver a. at24cxx_driver放入i2c_bus_type的drv链表 并且从dev链表里取 ...

  8. Python3爬虫(十八) Scrapy框架(二)

    对Scrapy框架(一)的补充 Infi-chu: http://www.cnblogs.com/Infi-chu/ Scrapy优点:    提供了内置的 HTTP 缓存 ,以加速本地开发 .   ...

  9. WPF自定义命令

    WPF的自定义命令实现过程包括三个部分,定义命令.定义命令源.命令调用,代码实现如下: public partial class MainWindow : Window { public MainWi ...

  10. 2017-2018-1 20155321 《信息安全系统设计基础》课堂实践——实现mypwd

    2017-2018-1 20155321 <信息安全系统设计基础>课堂实践--实现mypwd 学习pwd命令 pwd命令:输出当前工作目录的绝对路径 还可通过man pwd具体查看pwd的 ...