基于VS快速排序的单元测试
1.选择开发工具
| 1.1由于Visual stdio 已经安装,所以运行界面如下图所示: |

2.进行单元测试
| 2.1用Visual stdio 2017创建一个新项目(快速排序)如下图所示: |

其中程序如下所示:
#include<stdio.h>
void swap(int &a, int &b)
{
int t = a;
a = b;
b = t;
}
void quick(int *a, int s, int t)
{
int i = s, j = t + 1;
do
{
do i++; while (a[i] > a[s]);
do j--; while (a[j] < a[s]);
if (i < j)
swap(a[i], a[j]);
} while (i < j);
swap(a[s], a[j]);
if (s < j - 1)
quick(a, s, j - 1);
if (j + 1 < t)
quick(a, j + 1, t);
}
void print(int *a, int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", a[i]);
printf("\n");
}
int main()
{
int a[1800], i;
for (i = 0; i < 1800; i++)
a[i] = 2300 + i;
quick(a, 0, 1799);
print(a, 10);
return 0;
}
| 2.2快速排序的结果如图所示: |

| 2.3对代码添加一个单元测试: |

单元测试核心代码如下所示:
TEST_CLASS(UnitTest1)
{
public:
TEST_METHOD(TestMethod1)
{
int res[10] = { 4,3,2,1,0,-1,-2,-3,-4,-5 };
int test[10] = { 1,2,3,4,0,-1,-2,-3,-4,-5 };
quick(test, 0, 9);
for (int i = 0; i < 10; i++)
{
Assert::AreEqual(test[i], res[i]);
}
}
TEST_METHOD(TestMethod2)
{
int res[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };
int test[10] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1 };
quick(test, 0, 9);
for (int i = 0; i < 10; i++)
{
Assert::AreEqual(test[i], res[i]);
}
}
};
| 2.4从文件中找到依赖项地址: |

3.最后结果分析
| 3.1所得结果测试完全通过,并且截图如下: |

基于VS快速排序的单元测试的更多相关文章
- unit vs2017基于nunit framework创建单元测试
unit vs2017基于nunit framework创建单元测试 一.简叙: 单元测试大型项目中是必备的,所以不可忽视,一个项目的成败就看是否有单元测试,对后期的扩展维护都带来了便利. 二.安装 ...
- 基于spring与mockito单元测试Mock对象注入
转载:http://www.blogjava.net/qileilove/archive/2014/03/07/410713.html 1.关键词 单元测试.spring.mockito 2.概述 单 ...
- 如何写好、管好单元测试?基于Roslyn+CI分析单元测试,严控产品提测质量
上一篇文章中,我们谈到了通过Roslyn进行代码分析,通过自定义代码扫描规则,将有问题的代码.不符合编码规则的代码扫描出来,禁止签入,提升团队的代码质量. .NET Core技术研究-通过Roslyn ...
- FastAPI(43)- 基于 pytest + requests 进行单元测试
FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + R ...
- 在线研讨会预热 | 基于ASPICE&CNAS的单元测试介绍
随着新能源车.智能驾驶技术的快速发展,软件本身复杂度越来越高,应用场景也是复杂多样,如何保证软件质量对我们来说是一个严峻的挑战.软件测试作为软件质量保证的重要手段,被各大整车厂和供应商 ...
- 基于Netbeans的PHPUnit单元测试环境搭建
一.配置 PHPUnit截至2015-10-16,稳定版已更新至5.0.6,要求使用PHP v5.6及以上的环境才能使用. PHPUnit的4.8系列要求在PHP v5.3.3以上环境使用. Netb ...
- 大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
一. 前端自动化测试 大多数前端开发者对测试相关的知识是比较缺乏的,一来是开发节奏很快,来不及写,另一方面团队里也配备了"人肉测试机",完全没必要自己来.但随着项目体量的增大,许多 ...
- 基于dbunit进行mybatis DAO层Excel单元测试
DAO层测试难点 可重复性,每次运行单元测试,得到的数据是重复的 独立性,测试数据与实际数据相互独立 数据库中脏数据预处理 不能给数据库中数据带来变化 DAO层测试方法 使用内存数据库,如H2.优点: ...
- 使用xUnit,EF,Effort和ABP进行单元测试(C#)
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 介绍 创建测试项目 准备测试基类 创建第一个测试 测试异常 在测试中使用仓储 测试异步方法 小结 介绍 在这篇博客中,我 ...
随机推荐
- [C++] advanced reference
advanced reference
- Linux下查看Nginx的并发连接数和连接状态-乾颐堂
Linux下查看Nginx等的并发连接数和连接状态. 1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$N ...
- Oracle 11g 重建EM需要删除的对象
因为需求需要重建EM,重建时因为某些错误被迫停止,比如对象已存在.用户已经存在等,最终找出了创建必备的条件: 1.环境变量(Oracle和Grid在同一个用户下安装) ORACLE_HOME 要设为D ...
- Notepad++ xml/json格式化
Xml格式化: 1. 安装XML Tools插件 (1) 通过网址http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/下载XML ...
- 通过MySql自动同步刷新redis
在服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不适合使用Redis直接作为数据库.这俩家 ...
- k8s启动Pod遇到CrashLoopBackOff的解决方法
1.用kubectl get pod 当看到上面的状态后执行第2步 2.查看pod详情 [root@cc hzb]# kubectl describe pod ceph-mysql-hzb-pod 找 ...
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式.HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将H ...
- vim最实用命令和快捷键
参考文章,点这里 查找 1.命令模式下,按'/',然后输入要查找的字符,Enter./和?的区别是,一个向前(下)找,一个向后(上). 2.使用n命令来继续刚才的查找命令,如果我们想要停止这一查找,可 ...
- 获取cpu频率的代码
taskset是linux自带的一个命令,可用来将进程绑定到指定CPU 相关的函数有: sched_setaffinity, CPU_CLR, CPU_ISSET, CPU_SET, CPU_ZERO ...
- NSPredicate过滤数组数据
NSPredicate编写软件时,经常需要获取一个对象集合,然后删除不满足条件的对象,保留符合条件的对象,从而提供一些有意义的对象.Cocoa提供了一个名为NSPredicate的类,他用于指定过滤器 ...