VS2012 Unit Test
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的更多相关文章
- VS2012 Unit Test 个人学习汇总(含目录)
首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualStudio.TestTools.UnitTesting.a ...
- VS2012 Unit Test —— 我对IdleTest库动的大手术以及对Xml相关操作进行测试的方式
[1]我的IdleTest源码地址:http://idletest.codeplex.com/ [2]IdleTest改动说明:2013年10月份在保持原有功能的情况下对其动了较大的手术,首先将基本的 ...
- VS2012 Unit Test——Microsoft Fakes入门
如题,本文主要作为在VS2012使用Fakes的入门示例,开发工具必须是VS2012或更高版本. 关于Fakes的MSDN地址:http://msdn.microsoft.com/en-us/libr ...
- VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试
[提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...
- VS2012 Unit Test —— 我对接口进行单元测试使用的技巧
[题外话] 对单元测试不熟悉的童鞋可参照我之前写过的两篇博文: <在Visual Studio 2012使用单元测试>. <VS2012 单元测试之泛型类(Generics Unit ...
- unit vs单元测试
vs单元测试(unit) 一.什么是单元测试及它的作用? 在小量代码编写时,往往可以通过新建控制台项目(Console Application),新建网站项目(Web Form)等,在其中敲入测试代码 ...
- 使用IdleTest进行TDD单元测试驱动开发演练(1)
[前言] 开发工具:Visual Studio 2012 测试库:Visual Studio 2012自带的MSTest DI框架:Unity 数据持久层:Entity Framework 前端UI: ...
- 走进 .Net 单元测试
走进 .Net 单元测试 Intro "不会写单元测试的程序员不是合格的程序员,不写单元测试的程序员不是优秀程序员." -- 一只想要成为一个优秀程序员的渣逼程序猿. 那么问题来了 ...
- .NET重构—单元测试重构
.NET重构—单元测试重构 阅读目录: 1.开篇介绍 2.单元测试.测试用例代码重复问题(大量使用重复的Mock对象及测试数据) 2.1.单元测试的继承体系(利用超类来减少Mock对象的使用) 2.1 ...
随机推荐
- Sort函数的相关知识
sort与stable_sort 需包含头文件:#include <algorithm>因为它是库函数 这两个函数的原理都是快速排序,时间复杂度在所有排序中最低,为O(nlog2n) ...
- H264 编解码器架构简单
看完后H264/AVC 编解码器演示,头脑是刚刚离开以下三个: 1.H264并且不明白如何指定的编解码器来实现,仅定义了一个编码视频位流的语法.和比特流进行解码,这与MPEG 类似. 2.H264而一 ...
- HDU1203_I NEED A OFFER!【01背包】
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 深入浅出MS06-040
入浅出MS06-040 时至今日,网上已有颇多MS06-040的文章,当中不乏精辟之作.与其相比,本文突显业余,技术上无法超越,徒逞口舌之快.本文适合有一定计算机基础,初步了解溢出攻击原理,略微了解逆 ...
- linux-ubuntu关闭防火墙
SYNOPSIS iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] {-A|-C|-D} cha ...
- Tomcat剖析(五):Tomcat 容器
Tomcat剖析(五):Tomcat 容器 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器(1 ...
- Linux-常用命令1---对文件进行查看、复制、移动和分割
基于Linux的操作系统是一种自由和开放源代码的类UNIX操作系统. Linux的几大特点决定了它的不可代替和无法超越性: (1)免费的/开源的:(2)支持多线程/多用户: (3)安全性好; (4)对 ...
- Struts2.0+Spring3+Hibernate3(SSH~Demo)
Struts2.0+Spring3+Hibernate3(SSH~Demo) 前言:整理一些集成框架,发现网上都是一些半成品,都是共享一部分出来(确实让人很纠结),这是整理了一份SSH的测试案例,完全 ...
- API帮助页面
ASP.NET Web API 2:创建API帮助页面 当你新建了一个web API服务之后,再建一个API帮助页面是很有好处的,这样其他开发人员就会很清楚地知道如何调用你的API接口. ...
- leetcode先刷_Unique Binary Search Trees II
可能没想到,人的简单方法,关于质询的问题提出做. 如何把产生出来的所有的树木?所使用的方法当然是递归,但是有一个致命的问题,假设根节点,然后做一个递归,所以这是非常多的公共树木的根,结果肯定是一团糟. ...