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所得结果测试完全通过,并且截图如下:

转载于:https://www.cnblogs.com/ltc0504/p/10697951.html

基于VS快速排序的单元测试相关推荐

  1. 有啥不同?来看看Spring Boot 基于 JUnit 5 实现单元测试

    作者:又语 www.jianshu.com/p/4648fd55830e 本文介绍 Spring Boot 2 基于 JUnit 5 的单元测试实现方案. 目录 简介 JUnit 4 和 JUnit ...

  2. 实验三,基于Unittest框架的单元测试

    实验三,基于Unittest框架的单元测试 一,实验目的 (1) 掌握单元测试技术,并按单元测试的要求设计测试用例. (2) 能熟练应用功能性测试技术进行测试用例设计: (3) 能熟练应用结构性测试技 ...

  3. VisualStudio2019,基于.NET Framework的单元测试

    来了来了,她带着基于.NET Framework的单元测试笔记来啦~ 三个W一个H走起来 一.what?单元测试是什么? 单元测试就是单元测试啊,只可意会不可言传. 怎么说呢?就是对你自己代码中写的方 ...

  4. android单元测试android环境,基于Robolectric的Android单元测试 —环境搭建与部署运行...

    移动端的测试中,因为回归一些逻辑分支比较多的功能时工作量比较大,且不太适合用UI完成,尝试通过单元测试来完成.几经波折终于完成了一个功能的UT用例并在CI上部署运行,现总结如下: 一.Robolect ...

  5. 基于Groovy的Spock单元测试框架入门指南

    文章目录 1. Spock Primer 基本概念 1.1 对比Junit 1.2 Imports 1.3 Specification测试类 1.4 Fields 属性 1.5 Fixture Met ...

  6. 【算法】基于hoare快速排序的三种思想和非递归,基准值选取优化【快速排序的深度剖析-超级详细的注释和解释】你真的完全学会快速排序了吗?

    文章目录 前言 什么是快速排序 快速排序的递归实现 快速排序的非递归实现 单趟排序详解 hoare思想 挖坑法 前后指针法 快速排序的优化 三数取中 小区间优化 快速排序整体代码 尾声 前言 先赞后看 ...

  7. 基于python的unittest单元测试C语言代码

    ** 后面附带原始python代码 ** 关于单元测试Python也给我们提供了相应的模块(unittest),单元测试,并可以生成测试报告 1.了解单元测试的原理与框架 1.1 单元测试原理 单元测 ...

  8. 单元测试之道——基于junit的java单元测试 的读书笔记与思考

    第二章 你的首个单元测试 这一张已经忘了差不多,如何去测试,其实首先还是得先去考虑怎么去测试,这个就需要看代码单元的需求了. 一个简单的例子.测试排序 第二章 你的首个单元测试 这一张已经忘了差不多, ...

  9. 大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试

    一. 前端自动化测试 大多数前端开发者对测试相关的知识是比较缺乏的,一来是开发节奏很快,来不及写,另一方面团队里也配备了"人肉测试机",完全没必要自己来.但随着项目体量的增大,许多 ...

  10. C++程序的单元测试

    测试驱动开发(TDD)是以测试作为开发过程的中心,它坚持,在编写实际代码之前,先写好基于产品代码的测试代码.开发过程的目标就是首先使测试能够通过,然后再优化设计结构.测试驱动开发式是极限编程的重要组成 ...

最新文章

  1. JAVA编译异常处理:java.lang.OutOfMemoryError: PermGen space
  2. springboot2处理跨域
  3. 字节跳动高频算法题TOP100
  4. windows安装两个版本JDK
  5. python 二维码_Python提取支付宝和微信支付二维码
  6. CS229-Lesson7最优间隔分类器
  7. mysqlbinlog配置
  8. java doc转pdf又来了,这一次超简单
  9. Qt调用7z实现压缩和解压缩
  10. 浅谈Lattepanda
  11. 生产订单在做MIGO+101收货时,报错订单不存在有效的订单项
  12. 【重新安装MySql5.7.24 / MySql57过程】好多个错误,慢慢改好的
  13. 如何绕过CDN获取网站的真实IP?手把手教你
  14. 特征选择方法之主成分分析
  15. 疫情专供8个网站,可攻可守不破防,让你工作、学习效率加倍
  16. 天润融通java面试_【天润融通怎么样?】-看准网
  17. 自然语言处理-哈工大笔记
  18. 身高和java 车架,自行车车架与身高尺寸(图文)
  19. java怎么向二维数组赋值_如何给JAVA二维数组赋值
  20. JavaScript:实现复制粘贴剪切功能

热门文章

  1. Flutter之_slot 插槽属性详解
  2. Flutter之Visibility和Opacity使用说明
  3. centos7 mysql添加密码_centos-在Centos7上更改mysql根密码
  4. Call for Presentations!Flink Forward Global 2021 议题征集ing
  5. 勤能补拙 VS 思考补拙
  6. deepin桌面为什么那么卡_UOS/Deepin桌面卡死该怎么办
  7. 相平衡计算matlab代码,MATLAB,气液相平衡程序,求帮忙改一下。 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  8. python学生管理系统gui版好例子网_python界面版学生管理系统 相关实例(示例源码)下载 - 好例子网...
  9. 安装linux没有raid驱动程序,LINUX 无法在 RAID 上安装的问题
  10. html中c b和b s,Web开发中B/S架构和C/S架构的区别