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. linux系统如何安装vmware Tools(下面以CentOS为例)

    VMwareTools是VMware虚拟机中很重要的一个工具包,有些时候在虚拟机中安装完操作系统会缺少网卡驱动,不能上网,这时只要安装VMwareTools就可以解决问题,下面以CentOS为例,来说 ...

  2. Java工具类之Apache的Commons Lang和BeanUtils

    Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写. htt ...

  3. DataTable数据分页

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Refle ...

  4. scp 的时候提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    摘自:https://blog.csdn.net/haokele/article/details/72824847   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  5. 取得MapReduce的Thread Dump

    ====2016/5/20: 经过上级指示,为了MR性能调优,需要截取MR的服务器的线程堆栈(Thread Dump) 战友介绍的方法是这样的: ①.使用ps命令[ps -ef | grep java ...

  6. [Windows] IIS7.5 部署ISAPI

    环境: OS:Windows Server 2008 R2 Enterprise sp1 64位 IIS:7.5 ISAPI: delphi xe 编译的webbroker isapi  dll  3 ...

  7. Android-下载网上图片

    下载操作相关代码: package liudeli.async; import android.app.Activity; import android.app.ProgressDialog; imp ...

  8. ref 和 out 的用法和区别以及params用法

    方法参数可以划分为一下四种类型1 值参数:声明时不含任何修饰符2 引用参数:以ref修饰符声明3 输出参数:以out修饰符声明4 参数数组:以params修饰符声明 引用参数和输出参数不创建新的存储位 ...

  9. C++构造和析构的顺序

    C++构造函数和析构函数的顺序 #include <iostream> using namespace std; class CA {public: CA() { cout << ...

  10. 启动redis一闪就关

    解决方法:1-win+R 打开命令行2-cd至redis目录,例如 D:\redis>3-输入 redis-server.exe redis.windows.conf观察是否如图1:至此,已成功 ...