欢迎访问测试中国(www.testingcn.com),做测试的朋友请加QQ群:45598719

NUnit2.0详细使用方法<一>

上一篇 / 下一篇  2007-03-14 14:01:24 / 个人分类:测试精华

NUnit2.0详细使用方法

     前一段时间,有人问我在.NET里如何进行TDD开发.这个问题促使我想对NUnit做一个详细的介绍.因为我们大家都知道NUnit是在.NET进行TDD的利器.

      如果你已经知道很多关于NUnit的应用,请指出我的不对之处和提出一些建议,使本文更加完善.如果你对NUnit还不是很了解的话,我建议你还是阅读一下.

    本文分为以下部分:

1. TDD的简介

首先什么是TDD?Kent Beck在他的<<测试驱动开发>>(Addison-Wesley Professional,2003)一书中,使用下面2个原则来定义TDD:

·       除非你有一个失败的自动测试,永远不要写一单行代码.

·       阻止重复

      我想第一个原则是显而易见的.在没有失败的自动测试下就不要写代码.因为测试是嵌入在代码必须满足的需求中.如果没有需求,就没有必要实现任何东西.所以这个原则阻止我们去实现那些没有测试和在解决方案中不需要的功能.

第二个原则说明了在一个程序中,不应该包含重复的代码.如果代码重复,我想这就是不好的软件设计的象征.随着时间的流逝,它会对程序造成不一致的问题,并且使代码变非常混乱,因为我们时常不会记得重复代码的位置.如果发现代码重复,我想我们应该立即删除代码重复.其实这就涉及到重构了.在这里我就不多讲了.

一般来说,测试分为2种类型,一是程序员自己的测试,另外一种是客户的测试.关于客户测试,我推荐一个FIT的框架,非常不错。在这里,我们讲的TDD就是程序员测试.那么什么是程序员测试呢?我认为就是我们常说的单元测试.既然是单元测试,.NET里势必会用到某些工具,目前最著名恐怕就是我即将介绍的NUnit,

2.NUnit的介绍

NUnit是一个单元测试框架,专门针对于.NET来写的.其实在前面有JUnit(Java),CPPUnit(C++),他们都是xUnit的一员.最初,它是从JUnit而来.现在的版本是2.2.接下来我所用的都是基于这个版本.

NUnit最初是由James W. Newkirk, Alexei A. VorontsovPhilip A. Craig,后来开发团队逐渐庞大起来.在开发过程中, Kent BeckErich Gamma2位牛人也提供了许多帮助.看来对于NUnit还真是下了一番力气了.J

 NUnitxUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NET的特性,比如反射,客户属性等等.

 最重要的一点是它适合于所有.NET语言.

     如果你还没有下载,可以到http://www.nunit.org/去下载.

2.1 NUnit的介绍

   Ok,下面正式讲解NUnit.在讲解之前,看看几张图片:

     

1  NUnit运行的效果


                    
2   NUnit运行的另外一个效果

      从中我们可以非常容易发现,右边是个状态条,1是红色的,2是绿色的.为什么会这样呢?因为如果所有测试案例运行成功,就为绿色,反之如果有一个不成功,则为红色,但也有黄色的.左面的工作域内则是我们写的每一个单元测试.

通过上面的图片,我想你对NUnit有个总的了解了.

接下来还是分为2个部分,一是NUnit的布局,另外一部分就是它的核心概念.

首先熟悉一下NUnit GUI的布局.

让我们更进一步看一下测试运行器窗口的布局。在右边面板的中间,可以看到测试进度条。进度条的颜色反映了测试执行的状态:

绿色描述目前所执行的测试都通过

黄色意味某些测试忽略,但是这里没有失败

红色表示有失败

底部的状态条表示下面的状态:

状态.说明了现在运行测试的状态。当所有测试完成时,状态变为Completed.运行测试中,状态是Running:<test-name> (<test-name>是正在运行的测试名称)

Test Cases说明加载的程序集中测试案例的总个数。这也是测试树里叶子节点的个数。

Tests Run已经完成的测试个数。

Failures  到目前为止,所有测试中失败的个数.

Time 显示运行测试时间(以秒计)

File主菜单有以下内容:

New Project允许你创建一个新工程。工程是一个测试程序集的集合。这种机制让你组织多个测试程序集,并把他们作为一个组对待。

Open加载一个新的测试程序集,或一个以前保存的NUnit工程文件。

Close关闭现在加载的测试程序集或现在加载的NUnit工程。

Save保存现在的Nunit工程到一个文件。如果正工作单个程序集,本菜单项允许你创建一个新的NUnit工程,并把它保存在文件里。

Save As允许你将现有NUnit工程作为一个文件保存。

TAG: 测试精华

 

评分:0

我来说两句

Open Toolbar