VS2012 Unit Test 个人学习汇总(含目录)

首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.aspx (类库)

    Verifying Code by Using Unit Tests (介绍)

我的IdleTest源码地址:http://idletest.codeplex.com/

VS2012单元测试的主要类:Assert、StringAssert、CollectionAssert,具体可参照上述链接的MSDN介绍。

单元测试一直都想接触,但是碍于没有那样的工作环境,故只能由自己在业余时间去做这个事,整个过程下来,最大的感触是我写代码的质量原来可以这么好,在此之前,通常我编写的代码有很大一部分在程序运行前都是有bug的,但是通过单元测试,基本上在程序运行之前(调试阶段)就扼杀了这些bug的大多数,单元测试代码有问题除外,这也是我坚持单元测试的最大动力,其次就是单元测试可以促使我在编码中努力去遵循SOLID,提别是单一职责原则。

我个人在学习单元测试中基本都写成了博客,便于记录,以下为目录。

目录:

1.《在Visual Studio 2012使用单元测试》、

2.《VS2012 单元测试之泛型类(Generics Unit Test)》、

3.《VS2012 Unit Test —— 我对接口进行单元测试使用的技巧

4.《VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

5.《VS2012 Unit Test——Microsoft Fakes入门

6.《VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

  插曲:前段时间与某个公司的开发经理(反正是管理开发的)聊过,问我最近在搞什么技术,答曰小酌单元测试,其反问”要改当测试人员了啊“。由此可见还是很多做开发的误以为单元测试应由测试人员来做,单元测试应该是100%由开发人员完成,甚至我们码农还要编写集成测试代码。

  单元测试只是TDD的一部分,其他的例如还有集成测试等。而TDD不但是编码的事,还是测试的事,更是设计的事,即为整个项目团队的事,所以绝对不是说用就用的,我这也算是发发牢骚罢了,发完还是要回头去干改bug的活。

  以下摘自《C#测试驱动开发》。

  TDD优点(简言之就是使设计更佳,缺陷更少):

    1.一开始就保证代码的质量;

    2.使开发人员更遵循SOLID原则;

    3.确保代码与业务需求之间的高度一致性;

    4.TDD鼓励创建更简单、针对性更强的库和API;

    5.鼓励与业务用户多沟通;

    6.有助于从系统中清除那些没有用到的代码;

    7.提供了内置回归测试;

    8.终止了递归错误的出现

    9.可以得到开放的、可扩展的、灵活的体系结构。

  单元测试框架:NUnit、MSTest(上述文中所用的)、MbUnit、xUnit。

  模拟框架:Fakes(MSTest的模拟框架)、Moq、Rhino Mocks、Type Mock

  依赖注入框架:Structure Map、Unity、Windsor、Autofac

能力有限,错漏难免,欢迎批评指正!!

参考资料:MSDN、C#测试驱动开发(Professional Test Driven Development with C#)

VS2012 Unit Test的更多相关文章

  1. VS2012 Unit Test 个人学习汇总(含目录)

    首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.a ...

  2. VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式

    [1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...

  3. VS2012 Unit Test——Microsoft Fakes入门

    如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...

  4. VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

    [提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...

  5. VS2012 Unit Test —— 我对接口进行单元测试使用的技巧

    [题外话] 对单元测试不熟悉的童鞋可参照我之前写过的两篇博文: <在Visual Studio 2012使用单元测试>. <VS2012 单元测试之泛型类(Generics Unit ...

  6. unit vs单元测试

    vs单元测试(unit) 一.什么是单元测试及它的作用? 在小量代码编写时,往往可以通过新建控制台项目(Console Application),新建网站项目(Web Form)等,在其中敲入测试代码 ...

  7. 使用IdleTest进行TDD单元测试驱动开发演练(1)

    [前言] 开发工具:Visual Studio 2012 测试库:Visual Studio 2012自带的MSTest DI框架:Unity 数据持久层:Entity Framework 前端UI: ...

  8. 走进 .Net 单元测试

    走进 .Net 单元测试 Intro "不会写单元测试的程序员不是合格的程序员,不写单元测试的程序员不是优秀程序员." -- 一只想要成为一个优秀程序员的渣逼程序猿. 那么问题来了 ...

  9. .NET重构—单元测试重构

    .NET重构—单元测试重构 阅读目录: 1.开篇介绍 2.单元测试.测试用例代码重复问题(大量使用重复的Mock对象及测试数据) 2.1.单元测试的继承体系(利用超类来减少Mock对象的使用) 2.1 ...

随机推荐

  1. Sort函数的相关知识

    sort与stable_sort   需包含头文件:#include <algorithm>因为它是库函数 这两个函数的原理都是快速排序,时间复杂度在所有排序中最低,为O(nlog2n) ...

  2. H264 编解码器架构简单

    看完后H264/AVC 编解码器演示,头脑是刚刚离开以下三个: 1.H264并且不明白如何指定的编解码器来实现,仅定义了一个编码视频位流的语法.和比特流进行解码,这与MPEG 类似. 2.H264而一 ...

  3. HDU1203_I NEED A OFFER!【01背包】

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. 深入浅出MS06-040

    入浅出MS06-040 时至今日,网上已有颇多MS06-040的文章,当中不乏精辟之作.与其相比,本文突显业余,技术上无法超越,徒逞口舌之快.本文适合有一定计算机基础,初步了解溢出攻击原理,略微了解逆 ...

  5. linux-ubuntu关闭防火墙

    SYNOPSIS iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] {-A|-C|-D} cha ...

  6. Tomcat剖析(五):Tomcat 容器

    Tomcat剖析(五):Tomcat 容器 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器(1 ...

  7. Linux-常用命令1---对文件进行查看、复制、移动和分割

    基于Linux的操作系统是一种自由和开放源代码的类UNIX操作系统. Linux的几大特点决定了它的不可代替和无法超越性: (1)免费的/开源的:(2)支持多线程/多用户: (3)安全性好; (4)对 ...

  8. Struts2.0+Spring3+Hibernate3(SSH~Demo)

    Struts2.0+Spring3+Hibernate3(SSH~Demo) 前言:整理一些集成框架,发现网上都是一些半成品,都是共享一部分出来(确实让人很纠结),这是整理了一份SSH的测试案例,完全 ...

  9. API帮助页面

    ASP.NET Web API 2:创建API帮助页面        当你新建了一个web API服务之后,再建一个API帮助页面是很有好处的,这样其他开发人员就会很清楚地知道如何调用你的API接口. ...

  10. leetcode先刷_Unique Binary Search Trees II

    可能没想到,人的简单方法,关于质询的问题提出做. 如何把产生出来的所有的树木?所使用的方法当然是递归,但是有一个致命的问题,假设根节点,然后做一个递归,所以这是非常多的公共树木的根,结果肯定是一团糟. ...