51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3585|回复: 0
打印 上一主题 下一主题

[原创] 【Nunit入门系列讲座 1】Nunit的安装及功能介绍

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-11-11 10:34:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shinoy 于 2011-11-11 17:09 编辑

作者:shinoy
时间:2011/11/8 版权所有,侵权必究。
出处:http://blog.csdn.net/snowshinoy


       NUnit 是一套开源的基于.NET平台的类Xunit白盒测试架构,支持所有的.NET平台。这套架构的特点是开源,使用方便,功能齐全。很适合作为.NET语言开发的产品模块的白盒测试框架。我们还可以通过扩展该套架构,形成适合我们自己的更为高级的白盒测试架构。在这个系列中,我们将从最基础的安装,部署到在实际项目中的应用,带领大家逐步揭开Nunit的面纱。

  一、下载及安装
       NUnit的官方主页是http://www.nunit.org/index.php?p=home,在上面我们可以找到下载的位置


  doc 是相关的文档,我们这里下载msi安装包,然后开始安装




二、运行及功能介绍

在开始菜单中可以找到NUnit


运行NUnit就可以看到主界面出现


下面对各个功能区做一个简单介绍:

1. NUnit工具栏: 可以在这里执行所有的NUnit功能。主要功能有创建/打开项目,设定项目执行配置,以及为项目添加测试组件等。

2. 测试树图: 这里显示了当前NUnit项目中包含的所有测试。有两种显示方式,一种是根据在测试代码中定义的名字空间结构及测试集来显示。还有一种是根据Category显示,可以在测试代码中将同类别的测试项目定义为相同的Category,这样就可以在这种显示方式中将同种类的测试放在一起执行。

3. 测试执行:这里可以控制测试的运行及中止,并会显示当前项目的测试集执行进度。

4. 错误显示:在测试没有通过时,会显示错误原因及相关信息在这里。

5. Log窗口: 这个窗口会在测试中显示Log信息,主要有一些异常和错误信息,没有跑到的测试和测试代码的文本输出。

另外还有一个状态栏,在最下边,主要显示一下当前的运行状态及Project的Case总数。


三、 部署、生成测试

安装好NUnit后,我们就可以在我们的项目中部署他来生成我们的测试了。如何在项目中部署NUnit呢,一般白盒测试,不会改动项目功能代码,而是单独为这个测试建立一个测试项目。我们只要在这个项目中引用NUnit组建,我们就可以使用它了。下面我们来一步步生成我们的第一个测试。

在visual studio中,我们创建一个空项目,并添加NUnit组件的引用,Nunit可以加载的是dll或者exe类型的组件,我们创建该类型的项目。



为这个项目添加NUnit组件引用





这里我安装过2个以上版本的NUnit安装包,所以可以看到有2种版本的组件可以选择,大家使用的时候需要注意添加的版本是你需要的版本。关于不同版本的差异,可以参考官网上的说明。


现在将下面代码输入MyTest.cs文件,中间有些属性暂时不理解没有关系,我们在后续讲座中会详细讲解,现在让我们的第一个测试先Run起来不是一件很有成就感的事情么?开始吧!
  1. using System;  
  2. using System.Collections;  
  3. using NUnit.Framework;  
  4.   
  5. namespace MyFirstTest  
  6. {  
  7.     /// <summary>  
  8.     /// This is our first Nunit test  
  9.     /// </summary>  
  10.     [TestFixture]  
  11.     public class MyTest  
  12.     {  
  13.         [Test]  
  14.         public void Test1()  
  15.         {  
  16.             Console.WriteLine("Test1 Pass");  
  17.         }  
  18.   
  19.         [Test]  
  20.         public void Test2()  
  21.         {  
  22.             Console.WriteLine("Test2 Fail");  
  23.             Assert.Fail();  
  24.         }  
  25.   
  26.         [Test]  
  27.         public void Test3()  
  28.         {  
  29.             Console.WriteLine("Test3 Ignore");  
  30.             Assert.Ignore();  
  31.         }  
  32.   
  33.     }  
  34.   
  35. }  
复制代码
注意这句
  1. using NUnit.Framework;  
复制代码
这句的意思是对NUnit的命名空间进行声明,我们就可以在我们的代码中使用NUnit了,这步和前面的添加引用缺一不可。
现在可以编译我们的测试工程,会生成一个叫MyFirstTest.dll的文件,这个文件就是我们的测试组件了。可以用NUnit加载并运行它。




现在,我们就可以运行我们的测试了,请看下这个测试的运行结果



这个测试中,我们定义了一个成功的测试Test1,失败的测试Test2,被跳过的测试Test3。大家可以注意看在测试集树图中,不同的测试结果显示的是不同的图标,很一目了然。在右边的错误区显示了失败的Case及一些测试的统计数据。右下角的Log区,显示了错误产生在测试的那一行,方便测试后的Debug工作。另外,大家可能注意到了,在每个测试的代码中,我们输出了一些信息。这些信息应该显示在哪里呢?对了,就是Text Output这个标签下,很方便吧,我们可以在测试代码中多输出一些方便我们观察的信息。




好了,到此为止,我们就部署并运行了我们的第一个基于NUnit的测试。是不是感觉很简单呢,另外还有点提醒大家,NUnit支持到最新的.Net Framework4。针对不同的CLR版本,我们需要不同的运行环境。首先设置我们的测试工程的CLR版本,在VS中,选择Application属性,选择想要的版本



这里我们选择的是.NET Framework 3.5,在NUnit中,我们切换运行环境到.NET Framework4(兼容3.5)就可以了。




四、总结

本次内容就到这里,我们从安装到运行我们的第一个NUnit测试,一步步的都走了一遍,NUnit的功能当然不只这么多,后期我们将会有更多功能和技巧的介绍,请继续关注本系列课程,如果对课程有不理解的问题,可以发邮件给我28345697@qq.com,谢谢。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 11:24 , Processed in 0.071631 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表