今天在做测试的时候boss让我这个菜鸟做vs2015下c#的单元测试,并且给了我参考http://www.cnblogs.com/kingmoon/archive/2011/05/13/2045278.html

但是我现在用的ide是vs2015,一般的单元测试与vs2010相同,在进行到数据驱动的单元测试时,感觉这两个版本ide有很多不同,百度博客也无法得到答案,我又请示boss,boss让我查msdn,菜鸟gawain第一次查看msdn这种高级东西,msdn上面对于单元测试和数据驱动的单元测试讲的都很详细,但是很少有人耐心读完,而且据我发现,官方的做法是基于代码配置的数据驱动,我相信大多数小白在没有图的讲解下很难理解,所以把我的过程总结一下。

对于简单的单元测试部分不做讲解,与上面链接中vs2010的方法完全相同。

我这里只展示“可视化操作结合配置实现数据驱动的单元测试”:

首先创建一个c#项目CUnitTest用于测试,在这里我们选择进行单元测试的方法是Add(int a,int b):

右键解决方案,添加,新建项目

新建单元测试项目

在项目中选择添加新数据源:

点击新建连接:

我这里使用的是excel的数据驱动,所以选择microsoft
odbc数据源,单击确定

选择“使用连接字符串”,点击生成:

选择microsoft
excel driver:

点击下一步

点击浏览

保存为datatest

点击下一步,完成

选择工作簿,在桌面新建名为data2.xls数据源,测试数据如下

选择该工作簿

然后一路确认,到下面步骤,输入计算机管理员密码

测试连接成功,点击确认

一直点击“下一步”,直到完成

此时打开右侧解决方案,测试项目下的app.config

上图是已经配置好的

大家可参考msdn上面的代码配置一下,网址https://msdn.microsoft.com/zh-cn/library/ms243192.aspx

大致步骤为

创建 app.config
文件。

定义自定义配置节。

定义连接字符串。

定义数据源。

使用 DataSourceAttribute 类访问数据源。

代码如下:

<?xmlversion="1.0"encoding="utf-8"
?>

<configuration>

<configSections>

<sectionname="microsoft.visualstudio.testtools"type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection,
Microsoft.VisualStudio.QualityTools.UnitTestFramework,
Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

</configSections>

<connectionStrings>

<addname="CUnitTestTests.Properties.Settings.ConnectionString1"

connectionString="Driver={Microsoft
Excel Driver
(*.xls)};dbq=C:\Users\jiazhen\Desktop\data2.xls;defaultdir=C:\Users\jiazhen\Desktop;driverid=790;exclusive=0;fil=excel
8.0;filedsn=C:\Users\jiazhen\Desktop\data724.dsn;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;readonly=1;safetransactions=0;threads=3;uid=admin;usercommitsync=Yes;pwd=Mjw131023"

providerName="System.Data.Odbc"
/>

</connectionStrings>

<microsoft.visualstudio.testtools>

<dataSources>

<addname="MyExcelDataSource1"connectionString="CUnitTestTests.Properties.Settings.ConnectionString1"dataTableName="Sheet1$"dataAccessMethod="Sequential"/>

</dataSources>

</microsoft.visualstudio.testtools>

</configuration>

注意:configsection中的version与你的.net
framwork版本有关

配置完成后修改测试代码:

这里主要注意我用红笔勾出来的部分即可

然后右键运行测试

测试成功!!!

关于msdn上的我主要参考以下两个网址

演练:使用配置文件定义数据源

https://msdn.microsoft.com/zh-cn/library/ms243192.aspx

如何:创建数据驱动的单元测试

https://msdn.microsoft.com/zh-cn/library/ms182527(v=vs.140).aspx

希望总结对大家有用,有什么问题欢迎评论交流!!

vs2015数据驱动的单元测试的更多相关文章

  1. 用gtest实现数据驱动的单元测试

    //使用gtest进行数据驱动的单元测试 #include <gtest/gtest.h> #include <iostream> #include <vector> ...

  2. 使用VS2015(c#)进行单元测试,显示测试结果与查看代码覆盖率

    创建测试的过程可参考如下链接 http://www.cnblogs.com/libaoquan/p/5296384.html (一)如何使用VS2015查看测试结果 问题描述:使用VS2010执行单元 ...

  3. VS2015安装及单元测试

    今天跟大家分享一下我的VS2015的安装过程以及对单元测试的操作步骤.VS2015是一款非常好用的编程软件,内容很多很广泛,是深受欢迎的一款软件,较之于VC++6.0有着一些好处,对VC6.0++来说 ...

  4. VS2015 C#的单元测试

    1.安装visual studio 2015过程 visual studio 会对windows系统兼容性有很高的要求,没有达到win7 sp1以上的就不给安装,贴一张官方的系统的要求吧. 很不幸的是 ...

  5. VS2015安装与单元测试

    很久之前就听说微软有一款强大的编程软件——Visual Stdio系列,也许是满足于VC和CB的小巧一直都没有去尝试,借这次软件工程的机会终于可以一睹其真容,第一感觉是高大上,一改VC和CB的简洁,看 ...

  6. VS2015如何创建单元测试并启动调试

    1: 添加单元测试 2:打开单元测试类 关键点: 类上加上标记:[TestClass],方法上添加标记:[TestMethod],方法输出使用:Assert.IsNotNull(s,"测试失 ...

  7. 关于C#程序的单元测试

    目录 1.单元测试概念 2.单元测试的原则 3.单元测试简单示例 4.单元测试框架特性标签 5.单元测试中的断言Assert 6.单元测试中验证预期的异常 7.单元测试中针对状态的间接测试 8.单元测 ...

  8. ABP中单元测试的技巧:Mock和数据驱动

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:虽然ABP为大家提供了测试的脚手架了,不过有些小技巧还是需要自己探索的. ASP.NE ...

  9. 基于C#的单元测试(VS2015)

    这次来联系怎么用VS2015来进行C#代码的单元测试管理,首先,正好上次写了一个C#的WordCount程序,就用它来进行单元测试联系吧. 首先,根据VS2015的提示,仅支持在共有类或共有方法中支持 ...

随机推荐

  1. Python初探

    Q:DBA是运维数据库,为什么还要懂开发? A: 维护:维护的机器太多了,很多重复的操作,需要开发出工具来实现 监控:所有机器的运行情况和健康状况都需要了解,全盘掌握cup.内存.磁盘.网络流量.数据 ...

  2. Mac下将ISO写入U盘镜像

    在Mac下面如果想做一个启动U盘,确实不如windows下那么方便,Windows下面有ultraiso+王涛,Mac下面测可以用下面的办法. 打开磁盘工具 插入U盘,并在磁盘工具里面找到U盘,把它卸 ...

  3. tomcat之 Tomcat 7.0.78 单机多实例配置

    前言:JDK(JavaDevelopment Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的javaSDK. JDK是整个Java ...

  4. 深入理解 JavaScript 事件循环(一)— event loop

    引言 相信所有学过 JavaScript 都知道它是一门单线程的语言,这也就意味着 JS 无法进行多线程编程,但是 JS 当中却有着无处不在的异步概念 .在初期许多人会把异步理解成类似多线程的编程模式 ...

  5. 一个编程菜鸟的进阶之路(C/C++)

    学编程是一条不归路,但我义无反顾.只能往前冲,知道这个过程是痛苦的,所以我开通这个博客,记录自己在编程中遇到的问题和心得,一是希望可以帮助跟我一样遇到同样问题的人,二是把这作为对自己的勉励及回忆:

  6. commons-logging 结合 log4j, 初始化生命周期 初探

    -------commons-logging---------- Log log=LogFactory.getLog(clazz); LogFactory这是个抽象日志工厂,更像个工具? 通过线程上下 ...

  7. android studio 怎么将项目打包成apk文件

    1.Build -> Generate Signed APK...,打开如下窗口 2.假设这里没有打过apk包,点击Create new,窗口如下 这里只要输入几个必要项 Key store p ...

  8. ListView 介绍

    1. 通过继承Activity实现ListView 1.1 在XML布局文件中实现一个ListView <ListView android:layout_width="wrap_con ...

  9. Spring (3.2.4) 常用jar 包解析

    Spring (3.2.4) 常用jar 包解析 基本jar包 spring-aop-3.2.4.RELEASE.jar spring-aspects-3.2.4.RELEASE.jar spring ...

  10. seajs源码阅读

    乘着周日有点时间,阅读一下玉伯大神的源码. seajs的源码写得真的很好,很是佩服,工整美观不愧是大神,造福百姓. 说起seajs不得不说,AMD和CMD的区别.  CMD 推崇依赖就近,AMD 推崇 ...