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
VS2012 Unit Test 个人学习汇总(含目录) 首先,给出MSDN相关地址:http://msdn.microsoft.com/en-us/library/Microsoft.VisualS ...
- ABP 学习汇总
本文背景 公司最近规划的新框架准备基于ABP来搭建,自从在阳铭博客看到ABP框架的介绍后,就一直持续关注着,但还没真正在实际项目中直接使用ABP,只是自己做了一些学习和Demo.ABP所用到的一些新技 ...
- Java学习-042-获取目录文件列表(当前,级联)
以下三个场景,在我们日常的测试开发中经常遇到: 软件自动化测试,在进行参数测试时,我们通常将所有相似功能的参数文件统一放在一个目录中,在自动化程序启动的时候,获取资源参数文件夹中所有参数文件,然后解析 ...
- linux学习心得之目录树开端与/etc(图文)
linux学习心得之目录树开端与/etc(图文) linux中“一切皆文件”,学习linux一年了,在学习过程中对目录树的一点心得,分享给大家,有不对的地方敬请斧正. 不多说了,先上图: 根目录: / ...
- golang zip 压缩,解压(含目录文件)
每天学习一点go src. 今天学习了zip包的简单使用,实现了含目录的压缩与解压. 写了两个方法,实现了压缩.解压. package ziptest import ( "archive/z ...
- 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.如果您对单 ...
- Magento学习第一课——目录结构介绍
Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...
随机推荐
- 跟Unity3D学代码优化
今天我们来聊聊如何跟Unity学代码优化,准确地说,是通过学习Unity的IL2CPP技术的优化策略,应用到我们的日常逻辑开发中. 做过Unity开发的同学想必对IL2CPP都很清楚,简单地说,IL2 ...
- IOCP Internals
Buffer Type Buffer I/O 针对Buffer I/O的请求,系统会为其分配一个非换页内存作为缓存区,其大小等同于I/O请求的缓存区大小.对于写操作,I/O管理器在创建IRP时,将请求 ...
- 2000条你应知的WPF小姿势 基础篇<63-68 Triggers和WPF类逻辑结构>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...
- Thinking in Unity3D
关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的引擎 ...
- ASP.NET MVC Model绑定(三)
ASP.NET MVC Model绑定(三) 前言 看过前两篇的朋友想必对Model绑定有个大概的了解,然而MVC框架给我们提供了更高的可扩展性的提供程序编程模式,也就是本篇的主题了,会讲解一下Mod ...
- ABP(现代ASP.NET样板开发框架)系列之15、ABP应用层——应用服务(Application services)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之15.ABP应用层——应用服务(Application services) ABP是“ASP.NET Boiler ...
- ABP源码分析九:后台工作任务
文主要说明ABP中后台工作者模块(BackgroundWorker)的实现方式,和后台工作模块(BackgroundJob).ABP通过BackgroundWorkerManager来管理Backgr ...
- ABP框架 - 领域事件(EventBus)
文档目录 本节内容: EventBus 注入 IEventBus 获取默认实例 定义事件 预定义事件 处理完异常 实体修改 触发事件 处理事件 处理基类事件 处理程序异常 处理多个事件 处理程序注册 ...
- Html<a>标签href的困惑记载
近日,在工作中遇到一个小问题(给手游平台做些网页活动,其中牵涉到一个按钮链接,就习以为常的用了A标签,Click响应之后走一段js代码逻辑-弹出一个分享微信弹框.Chrome和Android平台都没问 ...
- CI Weekly #5 | 微服务架构下的持续部署与交付
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...