基于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框架搭建正式项目系列教程> 本篇目录 介绍 创建测试项目 准备测试基类 创建第一个测试 测试异常 在测试中使用仓储 测试异步方法 小结 介绍 在这篇博客中,我 ...
随机推荐
- Nlog- Application Logging in C#
当你在谷歌搜索 Application Loggin in C#,排在最前面的是这个 .NET Logging Tools and Libraries ,点击进去你会发现里面收录了不错的日记工具及文 ...
- ProGuard之——代码混淆
ProGuard之——代码混淆 2015年11月03日 21:39:40 阅读数:2756 标签: JavaProGuard 更多 个人分类: JAVA 所属专栏: Java 版权声明:本文为博主原创 ...
- zigbee之IAR环境搭建
注册机第一个要选择: 为什么? 之前说CC2530是支持zigbee协议的无线芯片,其实它是这款硬件上有一个支持zigbee协议的无线电路,不仅有这款电路,而且还有一块cpu电路,它就是8051cpu ...
- ORACLE B-TREE(B树)索引
内容简介: 1.普通B-TREE 索引; 2.唯一B-TREE 索引; 3.复合索引; ORACLE 默认的索引类型为B-TREE 索引,表中的行标识符(ROWID)和行相关的列值被存储在一个平衡树的 ...
- [GO]使用bufio的文件读取方式
package main import ( "os" "fmt" "bufio" "io" ) func ReadFil ...
- QT之Variant
QVariant识别类型的注册 QVariant识别类型的注册 QVariant为一个万能的数据类型--可以作为许多类型互相之间进行自动转换.将C++变为弱数据类型成为可能--也是许多控件中用户定义数 ...
- 大佬福利之在你眼中 Web 3.0 是什么?(转)
web 3.0 Web 3.0一词包含多层含义,用来概括互联网发展过程中某一阶段可能出现的各种不同的方向和特征.Web 3.0 充满了争议和分歧,它到底应该什么样?具体的标志点又是什么? Web 2. ...
- JS Closure 闭包
/*一.变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域.变量的作用域无非就是两种:全局变量和局部变量.Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. ...
- 编写高质量代码改善C#程序的157个建议——建议90:不要为抽象类提供公开的构造方法
建议90:不要为抽象类提供公开的构造方法 首先,抽象类可以有构造方法.即使没有为抽象类指定构造方法,编译器也会为我们生成一个默认的protected的构造方法.下面是一个标准的最简单的抽象类: abs ...
- pom.xml导入项目的时候,出错