一个 30多岁的技术人员所要考虑的

一、介绍
NUnit是一款用于在.net环境进行单元测试的工具,它的官方网站是:http://www.nunit.org,需要了解历史和下载最新版本的朋友可以去官方网站下载,目前最新版本是2.4.6了,提供msi安装文件和压缩包形式下载,并且支持.net1.1和.net2.0,如下图:
一个 30多岁的技术人员所要考虑的_第1张图片 

NUnit的运行界面如下:

NUnit运行界面

一个 30多岁的技术人员所要考虑的_第2张图片
NUnit测试结果界面

在上图中我们可以看到红、绿、黄三种颜色,分别代表了测试结果,它们的意义如下:
绿色 描述目前所执行的测试都通过
黄色 意味某些测试忽略,但是这里没有失败
红色 表示有失败

二、编码测试
下载了相关文件之后,需要添加对NUnit.framework.dll这个类库的引用,如下图:
一个 30多岁的技术人员所要考虑的_第3张图片
程序相关代码

using  System;
using  System.Collections.Generic;
using  System.Text;

namespace  NUnitDemo
{
    
///   <summary>
    
///  说明:这是一个类,用于测试。
    
///  作者:周公
    
///  日期:2007-3-27
    
///  原文出处: http://blog.csdn.net/zhoufoxcn
    
///   </summary>
     public   class  Person
    {
        
private   int  personId;
        
private   string  name;
        
private  DateTime birthday;
        
///   <summary>
        
///  生日
        
///   </summary>
         public  DateTime Birthday
        {
            
get  {  return  birthday; }
            
set  { birthday  =  value; }
        }
    
        
///   <summary>
        
///  姓名
        
///   </summary>
         public   string  Name
        {
            
get  {  return  name; }
            
set  { name  =  value; }
        }
    
        
///   <summary>
        
///  编号
        
///   </summary>
         public   int  PersonId
        {
            
get  {  return  personId; }
            
set  { personId  =  value; }
        }
    
    }
}
用于测试的类:
using  System;
using  System.Collections.Generic;
using  System.Text;
using  NUnit.Framework;

namespace  NUnitDemo
{
    [TestFixture]
    
///   <summary>
    
///  说明:这是一个测试类,用来展示NUnit的用法。
    
///  作者:周公
    
///  日期:2007-3-27
    
///  原文出处: http://blog.csdn.net/zhoufoxcn
    
///   </summary>
     public   class  Test
    {
        Person p 
=   new  Person();
        
public  Test()
        {
        }
        [Test]
        
public   void  CheckPersonId()
        {
            Assert.AreEqual(p.PersonId, 
0 ); // 检查对值类型数据未明确赋值之前是不是为0
        }
        [Test]
        
public   void  CheckPersonNameNull()
        {
            Assert.AreEqual(p.Name, 
null ); // 检查对字符串类型数据未明确赋值之前是不是为null
        }
        [Test]
        
public   void  CheckPeronBirthday()
        {
            Assert.AreEqual(p.Birthday, DateTime.MinValue);
// 检查对日期时间类型数据未明确赋值之前是不是为DateTime.MinValue
        }

        [Test]
        
public   void  CheckSum()
        {
            
int  i  =   2 , j  =   6 ;
            
int  num  =   2   +   6 ;
            Assert.AreEqual(num, 
9 );
        }
        [Test]
        [Ignore(
" 忽略的原因 " )]
        
public   void  CheckClassType()
        {
            Assert.IsInstanceOfType(
typeof ( object ), p);
        }
    }
}

看过上面的代码,大家或许会发现一些与平时所写代码不同的地方,就是在Test的头部加了多了一个属性声明([TestFixture]),并且有些方法还有"[Test]"这样的属性,NUnit就是通过这些属性知道你的程序中的哪些类中的哪些方法需要测试的,NUnit的一些常用属性如下:
Test Fixture:标记一个类可能包含有需要测试的方法。
Test :表示一个方法是用来测试的(当前前提是这个已经标记为需要测试)。
SetUp:在开始测试之前初始化一些资源,比如打开文件或者初始化数据库连接。
TearDown:在测试完之后做的事情,比如关闭文件或者关闭数据库连接。
ExpectedException:表示这个测试会抛出一个异常,如果测试时没有抛出异常,则测试失败。
Ignore:表示在测试时忽略对这个方法的测试(比如这个方法还没有完成或者完善),测试的时候这个方法会以黄色表示。
具体更多属性用法请到官方网址查看:http://www.nunit.org/index.php?p=attributes&r=2.4.6或者查看下载的文档,位于doc目录下的attributes.html文件。

三、集成到VS2005中
如果每次测试都要找到nunit.exe程序,再通过【File】->【Open Project】方式,还要一步步打开需要测试的程序集文件,确实太费力费时,通过下面的办法我们可以像编译运行WinForn程序一样很方便的测试。
首先打开项目的属性选项,如下图:
一个 30多岁的技术人员所要考虑的_第4张图片

然后打开调试选项卡,如下图:
一个 30多岁的技术人员所要考虑的_第5张图片

通过如上设置以后,每次要启动测试,我们可以直接按F5或者点击VS2005工具栏上的调试运行按钮就可以启动NUnit来启动我们的测试了,我们只要点击NUnit的【Run】按钮就可以启动测试了。

你可能感兴趣的:(.net,String,单元测试,测试,System,技术人)