今天在做测试的时候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. gulp报错

    这个问题网上搜索到的答案不一定能够解决问题,有可能是node版本问题,需要升级 到最新版就可以了....

  2. Docker 网络命令

    docker network create docker network connect docker network ls docker network rm docker network disc ...

  3. 关于Eclipse+SVN 开发配置

    入职快一个月,学的比较慢,但学的东西很多,受益匪浅.有时候真正意义上,感受到:代码使我快乐,我爱编程. 好久没有开笔,不知道说些什么,也不知道应该说什么. 但总觉得有些东西,很想说出来,不用理会他人的 ...

  4. STM8程序在IAR中报错 unable to allocate space for sections

    Error[Lp011]: section placement failed: unable to allocate space for sections/blocks with a total es ...

  5. 自动适配H5容器(UIViewView/WKWebView),生成长图,防微信进度条

    前段时间撸代码猥琐发育的时候,设计师老王给了张截图某宝APP上一个生成长图分享的功能,正好公司有这个需求,于是在立马开始操练起来!在万能的度娘上搜集整理资料后发现很多文章介绍的方案对WKWebView ...

  6. MVP架构

    一.介绍 MVP(Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.对于在Android应用中开发就可以视为是MVC架构,布局 ...

  7. js判断密码强度是否符合

    /** 判断密码强度是否符合 */ function check_passwd_intensity(password) { value = $.trim(password); if( value.le ...

  8. js判断一个数组是否为空

    var s = []; if(s.length == 0){ alert('空数组'); }

  9. 团队开发冲刺2-----2day

    冲刺目标: 1.在第一阶段的基础上完成app内部界面设计. 2.逐步完成app内每一部分内容. 3.对app的实现进一步仔细钻研考虑. 4.对app每一部分内容模块化,分工在进一步明确. 5.设计好数 ...

  10. [leetcode-554-Brick Wall]

    There is a brick wall in front of you. The wall is rectangular and has several rows of bricks.The br ...