挽星

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

文章分类 -  单元测试

摘要:在之前的文章《单元测试培训系列:(一)单元测试概念以及必要性》中最后一段有提到,单元测试其实是完全为了测试先行,测试驱动准备的,并简单阐述了一下实施的流程,很多朋友对此很感兴趣,希望能更深入了解具体是如何实施的。隔离,是单元测试中最重要的概念。一个被单元测试的方法,需要与所有依赖项进行隔离。而依赖项包括了环境的依赖项(I/O,网络,数据库,系统时间等)以及外部类和方法的依赖。因此,隔离性保障了单元测试是最小粒度的测试。 但隔离也导致了单元测试的局限性,主要是以下两个方面: 1.通过单元测试是不能检测到一个方法修改后对系统的影响范围的。 单元测试因为隔离了对其他方法的依赖,因此当一个方法因为重构 阅读全文
posted @ 2011-03-22 15:05 挽星

摘要:转自:http://haacked.com/archive/2007/06/19/unit-tests-web-code-without-a-web-server-using-httpsimulator.aspxTesting code written for the web is challenging. Especially code that makes use of the ASP.NET intrinsic objects such as theHttpRequestobject.My goal is to make testing such code easier.A while 阅读全文
posted @ 2011-03-02 14:25 挽星

摘要:转自:http://developer.51cto.com/art/200912/169535.htm本文主要为大家探讨的是Visual Studio 2010敏捷测试驱动开发,开发环境为Visual Studio 2010 Ultimate Beta2版本。希望本文能对大家有所帮助。在微软Visual Studio 2010 Ultimate Beta2版本中,MSF for Agile Software Development 5.0过程框架,是以Scrum模型为基础导向扩展,并且结合了VSTS2010工具的众多测试功能特性,为更多的从事微软.NET技术相关的开发人员以实现高质量的软件产品 阅读全文
posted @ 2011-02-17 12:15 挽星

摘要:在单元测试培训系列:(一)单元测试概念以及必要性中,我们已经说过单元测试的定义是什么,里面有提到一个很重要的概念:隔离! 是的,没有隔离就没有可测试性,也就没有单元测试。可测试性Testability下面我们具体解释下什么叫做可测试性Testability:让你的代码变的更加松耦合(Loosely coupled),让类与类之间的关联性降低,降低到可以个别独立存在,如此一来便可在彼此互不影响之下完成个别的单元测试,而这些类又能组合成一个有用的应用程式。 因为单元测试要尽可能的隔离与当前方法逻辑没有关系的方法以及外部资源(I/O文件,配置文件,数据库,网络以及静态变量等),即要求每段代码在不依赖 阅读全文
posted @ 2011-01-29 12:08 挽星

摘要:说起单元测试,多数同学应该都知道或听过,可能不少同学认为自己也写过,甚至觉得单元测试很简单有什么好培训的?其实这个事情还真没想象的那么简单!我基本可以比较负责任的说,你若没深入对单元测试做过研究,不知道Mock对象为何物的话,那么可能你以前写过的单元测试压根就不是单元测试。  单元测试是什么?  这个问题其实并不太容易一两句话说得特别清楚。先借用下百度百科的定义:  单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。  从以上这句定义我们可以看到,两个提取到到两个非常关键的字:最小粒度、隔离单元测试是测试的最小单位 阅读全文
posted @ 2011-01-29 12:05 挽星

摘要:单元测试中,为了让单元测试程序完全脱离外部依赖,需要使用到Mock对象和Stub对象。虽然可以手工编写Mock对象和Stub对象,但通常我们都使用Mocking Framework来帮助我们简单快速的构建需要的Mock对象以及Stub对象。一、概述  常见的Mocking Framework有如下几种:    1、Rhino MocksV3.6(2009-9-1)  Rhino Mocks是由Ayende Rahien 开发的一个开源项目,目前版本支持.NET 3.5 & 4.0以及Silverlight的CLR, 采用Castle DynamicProxy方式实现Mock对象的构建。  采用 阅读全文
posted @ 2011-01-29 12:01 挽星

摘要:原始地址: http://code.google.com/p/moq/wiki/QuickStartMoq is intended to be simple to use, strong typed (no magic strings!, and therefore full compiler-verified and refactoring-friendly) and minimalistic (while still fully functional!). Methodsvar mock = new MockIFoo();mock.Setup(foo = foo.DoSomethin 阅读全文
posted @ 2011-01-27 03:20 挽星

摘要:In this article Simone will cover one of the main reasons for adopting the ASP.NET MVC framework: testability. Introduction In the first part of this series we introduced the MVC pattern and how Microsoft implemented it in the ASP.NET MVC framework. In this part we will cover one of the most importa 阅读全文
posted @ 2011-01-23 03:17 挽星

摘要:我们在做单元测试的时候,常常困扰于数据的持久化疑问 ,很多情况下我们不希望单元测试影响到数据库中的内容,而且受数据库的影响有时我们的单元测试的速度会很慢,所以我们往往希望将持久化部分隔离开,做单元测试的时候不真实 的将数据持久化。这种隔离我们一般运用 抽象的方式,也就是运用 接口或抽象类将持久化层隔离开,然后运用 mock来模拟相应的接口或抽象类来完成相应的持久化类。MoQ就是这种Mock框架之一,MoQ运用 了C#3.0,跟 NMock相比MoQ运用 起来更基本 ,而且是强类型的方式的,源码和dll可以到http://code.Google.com/p/moq/下载。现在MoQ最新的揭晓 版 阅读全文
posted @ 2011-01-17 11:21 挽星