您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > Nunit
NUnit开源回归测试框架
作者:网络转载 发布时间:[ 2013/12/26 14:05:07 ] 推荐标签:单元测试 NUnit

一、概述
  NUnit是一款的开源回归测试框架,我在《NUnit学习笔记》一文中已对其基本使用方法进行了简单的介绍。但除了TestFixture、TestFixtureSetUp、Test和TestFixtureTearDown这四个常用的属性外,NUnit还提供了ExpectedException、Ignore、Suite、Category和Explicit等属性用于测试。本文的目的是对这些属性进行介绍。
在介绍开始之前,还需要说明一些事情,即本文只提供了C#代码示例,而没有提供VB、J#或Delphi代码示例,而且在示例的编写过程中虽然也使用了Visual Studio.net 2003和Delphi 2005作为编辑器,但文中绝不会涉及项目创建的内容。此外本文的示例都是在NUnit可视化环境下测试的,对于其运行效果,如无必要,本文将仅以文字形式进行说明。
二、ExpectedException
  ExpectedException属性用于测试是否会抛出指定的异常,若抛出则NUnit的状态条为绿色,反之为红色。
  示例代码:
  using System;
  using NUnit.Framework;
  
  namespace NUnitTest
  {
    [TestFixture]
    public class Test1
    {
      [Test]
      [ExpectedException(typeof(Exception))]
      public void TestExpectedException()
      {
        string s = "";
        if (s != "")
          throw new Exception();
      }
    }
  }
  测试效果:状态条为红色。
  具体说明:由于字符串s在初始化时已赋值为"",因此在判断"s != """时条件自然不会成立,这样不会抛出异常,状态条当然也不会为绿色了。如果想让状态条显示为绿色,将判断条件改为"s == """可以了。
三、Ignore
  Ignore属性可以供类和方法使用,使用后类或方法在NUnit测试中会被忽略,也是说,对于暂时不想运行的测试类或测试方法,可以通过Ignore属性将其忽略掉。
  示例代码1:
  [TestFixture]
  [Ignore("class test ignore")]
  public class Test2
  {
    [Test]
    public void TestIgnore()
    {}
  }
  示例代码2:
  [TestFixture]
  public class Test2
  {
    [Test]
    [Ignore("function test ignore")]
    public void TestIgnore()
    {}
  }
  测试效果:两个示例被执行后状态条都会显示为黄色。但如果你在测试时选择的是Test2节点,会发现示例一执行后,只有Test2节点前的圆点显示为黄色,状态条没有发生任何变化,而示例二则会将Test2和TestIgnore节点前的圆点都变成黄色,状态条也显示成黄色。这是由于前者忽略的是整个类的测试,而后者忽略的只是测试方法。

上一页123下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd