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快速排序的单元测试的更多相关文章

  1. unit vs2017基于nunit framework创建单元测试

    unit  vs2017基于nunit framework创建单元测试 一.简叙: 单元测试大型项目中是必备的,所以不可忽视,一个项目的成败就看是否有单元测试,对后期的扩展维护都带来了便利. 二.安装 ...

  2. 基于spring与mockito单元测试Mock对象注入

    转载:http://www.blogjava.net/qileilove/archive/2014/03/07/410713.html 1.关键词 单元测试.spring.mockito 2.概述 单 ...

  3. 如何写好、管好单元测试?基于Roslyn+CI分析单元测试,严控产品提测质量

    上一篇文章中,我们谈到了通过Roslyn进行代码分析,通过自定义代码扫描规则,将有问题的代码.不符合编码规则的代码扫描出来,禁止签入,提升团队的代码质量. .NET Core技术研究-通过Roslyn ...

  4. FastAPI(43)- 基于 pytest + requests 进行单元测试

    FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + R ...

  5. 在线研讨会预热 | 基于ASPICE&CNAS的单元测试介绍

            随着新能源车.智能驾驶技术的快速发展,软件本身复杂度越来越高,应用场景也是复杂多样,如何保证软件质量对我们来说是一个严峻的挑战.软件测试作为软件质量保证的重要手段,被各大整车厂和供应商 ...

  6. 基于Netbeans的PHPUnit单元测试环境搭建

    一.配置 PHPUnit截至2015-10-16,稳定版已更新至5.0.6,要求使用PHP v5.6及以上的环境才能使用. PHPUnit的4.8系列要求在PHP v5.3.3以上环境使用. Netb ...

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

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

  8. 基于dbunit进行mybatis DAO层Excel单元测试

    DAO层测试难点 可重复性,每次运行单元测试,得到的数据是重复的 独立性,测试数据与实际数据相互独立 数据库中脏数据预处理 不能给数据库中数据带来变化 DAO层测试方法 使用内存数据库,如H2.优点: ...

  9. 使用xUnit,EF,Effort和ABP进行单元测试(C#)

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 介绍 创建测试项目 准备测试基类 创建第一个测试 测试异常 在测试中使用仓储 测试异步方法 小结 介绍 在这篇博客中,我 ...

随机推荐

  1. loadrunner load generator设置init人数

    Load Generator中还有一个很重要的设置.就是用来设置init人数的,我们在运行脚本的时候会发现,在场景监控中,init默认不会超过50个人,也就是最大并发是50个人,我们想使用超过50个人 ...

  2. [随笔]CENTOS7更换YUM源为163源(记录一下以防忘记)

    2016年2月16日,最新163源变更后的更新方法: 访问地址为:http://mirrors.163.com/.help/centos.html 首先备份源: mv /etc/yum.repos.d ...

  3. tree.J48

    Weka为一个Java基础上的机器学习工具.上手简单,并提供图形化界面.提供如分类.聚类.频繁项挖掘等工具.本篇文章主要写一下分类器算法中的J48算法及事实上现. 一.算法 J48是基于C4.5实现的 ...

  4. jdk、jre、jvm的区别联系

    jdk包括以下三个东西: D:\Program Files\jdk1.7.0_21\bin\javac.exe和java.exe D:\Program Files\jdk1.7.0_21\jre D: ...

  5. SQL的Join语法

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  6. 通过面试题学习零散知识:Java面试题整理

     一.如何看待面试题 对于喜欢学习的开发者来说,我们抛开工作和生活的时间,剩余的时间并不多,如果都用于学习的话,也不可能学的下所有感兴趣的技术点,精力也跟不上,我是深感如是.而面试题一般都是零碎的知识 ...

  7. 解决svn:E155037错误(另附查看.db文件的工具)

    今天使用svn提交代码的时候出问题了,Error:svn: E155037.....Previous operation has not finished; run 'cleanup' if it w ...

  8. Strict Weak Ordering

    Description A Strict Weak Ordering is a Binary Predicate that compares two objects, returning true i ...

  9. linux mysql 权限

    原文地址:http://www.cnblogs.com/eczhou/archive/2012/07/12/2588187.html Linux下mysql新建账号及权限设置 1.权限赋予 说明:my ...

  10. Android Studio3.2新建项目gradle read time out

    试验了好几个小时,看了很多方法,都不管用,运用一下设置好了,记录一下 1. 2.在项目的build.gradle中添加 mavenCentral()maven { url 'https://maven ...