NUnit详细使用方法

发表于:2007-4-05 16:01

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51testing    来源:51testing博客转

分享:

4.其他的一些核心概念

    上面的例子介绍了基本的NUnit特性和功能. TestFixture, Test, 和 Assert是3个最基本的特征,我们可以用这些特性进行程序员测试了.但是有的时候,你觉得这3个远远不够,比如有的时候打开一个数据库连接多次,有没有只让它打开一次的方法呢?如果我想把测试分类,应该怎样实现呢?如果我想忽略某些测试,又应该如何去完成呢?不用担心,NUnit已经有这样的功能了.
下面我们一一作出回答.

SetUp/TearDown 属性

    在早期给的test fixture定义里,我们说test fixture的测试是一组常规运行时资源.在测试完成之后,或是在测试执行种,或是释放或清除之前,这些常规运行时资源在一确定的方式上可能需要获取和初始化.NUnit使用2个额外的属性:SetUpTearDown,就支持这种常规的初始化/清除.我们上面的例子来描述这个功能.让我们增加乘法.
using System; 
using
 NUnit.Framework; 
  
namespace
 NUnitQuickStart 

            [TestFixture] 
            public class
 NumersFixture 
            

                        [Test] 
                        public void
 AddTwoNumbers() 
                        

                                    int a=1

                                    int b=2

                                    int sum=a+
b; 
                                    Assert.AreEqual(sum,3
); 
                        }
 
                        [Test] 
                        public void
 MultiplyTwoNumbers() 
                        

                                    int a = 1

                                    int b = 2

                                    int product = a *
 b; 
                                    Assert.AreEqual(2
, product); 
                        }
 
  
            }
 
}
 


   我们仔细一看,不对,有重复的代码,如何去除重复的代码呢?我们可以提取这些代码到一个独立的方法,然后标志这个方法为SetUp 属性,这样2个测试方法可以共享对操作数的初始化了,这里是改动后的代码: 
using System; 
using
 NUnit.Framework; 
  
namespace
 NUnitQuickStart 

            [TestFixture] 
            public class
 NumersFixture 
            

                        private int
 a; 
                        private int
 b; 
                        [SetUp] 
                        public void
 InitializeOperands() 
                        

                                    a = 1

                                    b = 2

                        }
 
  
                        [Test] 
                        public void
 AddTwoNumbers() 
                        

                                    int sum=a+
b; 
                                    Assert.AreEqual(sum,3
); 
                        }
 
                        [Test] 
                        public void
 MultiplyTwoNumbers() 
44/4<1234
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号