NUnit开源回归测试框架

Ava ·
更新时间:2024-09-21
· 597 次阅读

一、概述   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节点前的圆点都变成黄色,状态条也显示成黄色。这是由于前者忽略的是整个类的测试,而后者忽略的只是测试方法。



回归 nunit 回归测试 测试 框架

需要 登录 后方可回复, 如果你还没有账号请 注册新账号