vs2015 单元测试 linux,VS2015做单元测试
1.安装测试插件
2.新建测试用例
这里就用课堂练习找水王 作例子
写一个类waterKing.h和waterKing.cpp
1 //idList.h
2 #pragma once
3 #include
4 using namespace std;
5 class idList
6 {
7 private:
8 int id[1000]; //发帖ID
9 int waterKing; //当前水王
10 int value = 0; //当前水王水的可能性
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 <= 0)
7 {
8 cout << "非法的输入";
9 exit(1);
10 }
11 this->num = num;
12 for (int i = 0; i < num; i++) {
13 this->id[i] = id[i];
14 }
15 }
16
17
18 idList::~idList()
19 {
20 }
21
22 int idList::searchwaterKing() //返回-1代表没有水王,否则返回水王的ID
23 {
24 if (num % 2) //奇数
25 {
26 for (int i = 1; i < num; i += 2)
27 {
28 if (value > 0) //当前水王存在
29 {
30 if (id[i] == id[i + 1])
31 {
32 if (id[i] == waterKing)
33 {
34 value += 2;
35 }
36 else
37 {
38 value -= 2;
39 }
40 }
41 }
42 else //当前水王不存在
43 {
44 if (id[i] == id[i + 1])
45 {
46 waterKing = id[i];
47 value += 2;
48 }
49 }
50 }
51
52 if (value > 0)
53 {
54 if (id[0] == waterKing)
55 {
56 value++;
57 }
58 else
59 {
60 value--;
61 }
62 }
63 else
64 {
65 waterKing = id[0];
66 value = 1;
67 }
68
69 }
70 else //偶数
71 {
72 for (int i = 0; i < num; i += 2)
73 {
74 if (value > 0) //水王存在
75 {
76 if (id[i] == id[i + 1])
77 {
78 if (id[i] == waterKing)
79 {
80 value += 2;
81 }
82 else
83 {
84 value -= 2;
85 }
86 }
87 }
88 else //水王不存在
89 {
90 if (id[i] == id[i + 1])
91 {
92 waterKing = id[i];
93 value += 2;
94 }
95 }
96 }
97 }
98 if (value > 0)
99 {
100 return waterKing;
101 }
102 else
103 {
104 return -1;
105 }
106 }
写完代码之后记得编译一下,会在项目DEBUG目录下生成OBJ文件
3. 右击解决方案->"添加"->"新建项目"->"测试"->"托管测试项目"
新建之后再解决方案下就会出现一个刚刚新建的测试项目
在UnitTest.cpp下添上引用
在下面的[TestMethod]里编写自己的测试代码
1 [TestMethod]
2 void TestMethod1()
3 {
4 int list[] = {1};
5 idList test1(sizeof(list)/sizeof(int), list);
6 int result = test1.searchwaterKing();
7 Assert::AreEqual(result, 1);
8 };
9
10 [TestMethod]
11 void TestMethod2()
12 {
13 int list[] = { 1,2,1 };
14 idList test1(sizeof(list) / sizeof(int), list);
15 int result = test1.searchwaterKing();
16 Assert::AreEqual(result, 1);
17 };
18
19 [TestMethod]
20 void TestMethod3()
21 {
22 int list[] = { 1,1,1,2,3 };
23 idList test1(sizeof(list) / sizeof(int), list);
24 int result = test1.searchwaterKing();
25 Assert::AreEqual(result, 1);
26 };
27
28 [TestMethod]
29 void TestMethod4() //该测试应该是不相等的
30 {
31 int list[] = { 1,1,2,3 };
32 idList test1(sizeof(list) / sizeof(int), list);
33 int result = test1.searchwaterKing();
34 Assert::AreNotEqual(result, -1);
35 };
36
37 [TestMethod]
38 void TestMethod5() //该测试应该是不相等的
39 {
40 int list[] = { 1,2,3,4,5 };
41 idList test1(sizeof(list) / sizeof(int), list);
42 int result = test1.searchwaterKing();
43 Assert::AreNotEqual(result, -1);
44 };
右击测试项目->属性->链接器->输入->附加依赖项->编辑
添加自己刚刚编译生成的OBJ
然后就可以点击菜单栏的测试菜单,进行相关测试了
Assert::XXX的用法不是很了解,网上一些.NET的测试教程很多,
来源:https://www.cnblogs.com/xiaoxt/p/5511005.html
vs2015 单元测试 linux,VS2015做单元测试相关推荐
- 持续集成之单元测试篇——WWH(讲讲我们做单元测试的故事)
持续集成之单元测试篇--WWH(讲讲我们做单元测试的故事) 前言 临近上线的几天内非重大bug不敢进行发版修复,担心引起其它问题(摁下葫芦浮起瓢) 尽管我们如此小心,仍不能避免修改一些bug而引起更多 ...
- 不做单元测试的6大借口
看到了一篇不错的关于单元测试的文章,于是就机翻加改写了一下.作者的观点是适当的,不过稍微欠缺了些数据. 我开始打算写一篇关于单元测试及其背后的哲学和过程的文章.我想谈谈完成对项目的一组更改并能够部署它 ...
- 单元测试是什么?为什么要做单元测试?
背锅侠 一个有个性的订阅号 1.单元测试是什么 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定 ...
- html如何与py_Web项目如何做单元测试?
你可能会用单元测试框架,python的unittest.pytest,Java的Junit.testNG等. 那么你会做单元测试么!当然了,这有什么难的? test_demo.py def inc(x ...
- xcode 5 使用 XCTest 做单元测试
xcode 5 使用 XCTest 做单元测试 什么是单元测试,请看 百度百科 单元测试 一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试:如今在xcode5,我们新建立的项目默认就 ...
- 前端抢饭碗系列之Vue项目如何做单元测试
大家好,我是若川.今天分享一篇vue项目如何做单元测试的好文,文章比较长,建议先收藏,需要时用电脑看. 点击下方卡片关注我.加个星标 学习源码系列.年度总结.JS基础系列 关于单元测试,最常见的问题应 ...
- 为什么我们要做单元测试?(二)
引子 当我第一篇博客发布,并被张善友老师的公众号转载之后,在公众号文章和博客园的留言中,许多开发者纷纷表示,单元测试作为企业行为,与实施的技术栈不同,不是开发者个人行为,实施单元测试花费的时间精力过于 ...
- 使用MS Test做单元测试
声明:本篇博客翻译自:http://www.c-sharpcorner.com/article/unit-testing-with-ms-tests-in-c-sharp/ 写在翻译之前: 依然清晰的 ...
- python可以测试java的代码吗_使用python做你自己的自动化测试--对Java代码做单元测试 (2)-导入第三方jar包裹...
使用Jython对Java做单元测试,当然,为了测试开发java代码.这涉及到引入第三包的问题,如何导入第三方的包? 您可以使用http://blog.csdn.net/powerccna/artic ...
最新文章
- 判断一个字符串中出现次数最多的字符
- insert时调用本身字段_「技术篇」ETL工具Kettle数据对比同步以及Java程序中调用
- MySQL搭建主从复制架构实战
- EA和Take-Two游戏业巨头纷纷陷入困境
- java控制图片移动_多线程控制图片移动
- (转载)20分钟读懂程序集
- Express + Node 爬取网站数据
- 人工智能的Hello World!
- 一句话菜刀 php eval,如何基于菜刀PHP一句话实现单个文件批量上传?
- ICEM划分网格实例——六角形螺栓
- mysql-front服务器_mysql-front远程连接自己linux服务器上的mysql服务器
- js对加法计算、减法计算、乘法计算、除法计算的精度处理
- Android蓝牙源码分析——BTA层消息分发
- 计算机无法完成评估,Windows Vista下系统评分无法完成的问题
- 通过新浪天气api查询天气
- 在金山云上,“雷布斯”有这些野心
- linux c编译安装,uClinux设置(安装,编译)
- [jzoj4210] 【五校联考1day1】我才不是萝莉控呢 {哈夫曼树}
- 用python对文件内容差异对比
- 《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一3.2 计算机系统...
热门文章
- 【MyBatis】MyBatis对Log4J的支持、MyBatis实现新增、删除、修改、查询
- Libra教程之:执行Transactions
- 操作系统 先来先服务算法(FCFS)、最短寻到时间优先算法(SSTF)、扫描算法(电梯算法,SCAN)、循环扫描算法(CSCAN)
- 算法竞赛入门经典(第二版) | 例题4-4 信息解码 (紫皮书牛啤!)(UVa213,Message Decoding)
- [leetcode] 198.打家劫舍
- [Leetcode总结] 101.对称二叉树
- 单片机原理及其应用——单片机外部中断实验(八段数码管通过按键依次显示0~9数字)
- java继承circle类_java的继承
- ERROR: No query specified
- 进入工程制图闪退_工程整体一