软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>单元测试>>正文
用NUnit自动测试.NET代码
文章出处:网络 作者:Bill Wagner 发布时间:2007-01-12
    因为我是从事.Net开发的,看到很多关于JUnit的介绍,所以在这里转贴一篇Nunit的文章。用来平衡一下Java不如.Net的心理。

    NUnit可以使你很快、很容易地对代码进行单元测试。而且它是免费的。
    by Bill Wagner
   NUnit是一组类,你可以用它在你的.NET类上创建和执行自动的单元测试。作为对本篇文章的补充材料,你可以到NUnit网站上查看关于单元测试的价值的白皮书和文章(见资源)。

    你可以下载NUnit的已创建的类,或源代码。我更喜欢下载源代码。当我访问这个站点时,NUnit最新的版本是beta 2,我需要做些修改,这样NUnit就可以在RC1下创建和运行单元测试了。

    首先,你需要为NUnit生成你自己的密钥文件(key file),因为源代码中不包含一个密钥文件。按下面的方式生成正确类型的keyfile:sn -k NUnit.key



    接下来,你需要改变几个原形(prototype),因为NUnit项目包含Dispose的旧版本。新的原形应该是: virtual void Dispose (bool Disposing);


    现在你就可以构建NUnit,运行它,并运用样例测试了。运行NUnitGUI项目来加载测试,选择Browse按钮来载入一个程序集。如果要用样例,就需要选择SampleMoney.dll程序集。一旦你加载了一个程序集,TypeName框就会显示已经定义了测试的程序集的类型。点击Run按钮,执行所有的测试,并在窗口底部查看结果。

    运行样例很有用,但你可能想知道如何用你自己的代码来创建和执行测试。为了说明如何运用NUnit,我将为前面写的Source Count程序编写一个测试包(test suite)。NUnit用reflection在你的单元测试代码中找到测试方法。为了创建一个测试包,我们只需要创建一个执行测试的类。你必须从TestCase继承这个类,TestCase是NUnit的一部分。你的新类中的任何测试方法必须是公有的并以“test”开头。测试方法也应该包含一个空的返回类型,并不用任何参数。下面是我的测试包中的两个测试方法:public void testComments () {
     Assert ("Checking Comment lines",
           testObj.SingleLineComments == 2);
}

public void testDocs () {
     Assert
     ("Testing Documentation lines",
     testObj.DocumentationComments == 3);
}




    Assert方法(是NUnit的一部分)对测试结果进行检查。你可以用一个字符串来说明哪个测试失败了。一些测试包在运行前需要设置或拆分代码;TestCase类为此提供了虚拟的函数。在我的测试中,我用了SetUp方法来初始化源代码计数器:protected override void SetUp () {
     testObj = new CountStats ();
     StringReader reader = new
           StringReader (theTest);
     testObj.ProcessFile(reader);
}



    最后,你需要一个静态的方法来返回ITest接口。NUnit用了一个构造器使这项工作变得很简单。你可以用类型信息为任何测试包创建ITest接口:public static ITest createSuite {
     get {
           return new TestSuite (typeof
                 (MySuite));
     }
}


    这就可以了。在列表1中你可以看到整个测试类。这并不是一个完整的测试包,但通过它,你仍可以对如何在你自己的项目中运用NUnit有一定的了解。


站内搜索
相关文章
◎Ant+junit实现测试自动化
◎强化Visual Studio单元测试
◎C/C++单元测试问答(摘要)
◎CppUnit - 测试驱动开发入门
◎Dunit初步详解
◎白盒测试中的六种覆盖方法
◎强化Visual Studio 单元测试
◎单元测试的小技巧介绍和举例
◎有关Junit的多线程测试
◎PHP单元测试工具PHPUnit初体验
◎JUnit中如何测试异常
◎如何挑选白盒测试工具
◎用cppUnit进行单元测试的步骤
◎JUnit起步
◎nunit使用资料
◎单元测试------理论篇
◎单元测试和事先测试开发
◎为什么要进行单元测试?
◎JUnit中如何测试异常
◎单元测试作业指导书(四)
◎单元测试作业指导书(三)
◎单元测试作业指导书(二)
◎单元测试作业指导书(一)
◎单元测试中的伪对象
◎junit实现过程
◎以设计求质量--启用经济高效的全面组件测试
◎让编译和测试过程自动化
◎C语言高效编程的的四招技巧
◎ant结合junit进行软件自动测试
◎使用ant编译、运行junit、以及检查编码
◎JCoverage使用
◎全面介绍单元测试
◎单元测试指导
◎单元测试的基本方法
◎J2EE应用的性能调整--JPROBE使用篇
◎使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Te...
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(三)
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(二)
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(一)
◎数据库程序的单元测试
◎防御性编码和单元测试“交通规则”
◎单元测试实践(VB版)
◎Linux:让内存不再泄漏
◎感悟测试驱动开发
◎软件测试技术获重大突破
◎PHP单元测试工具PHPUnit初体验
◎使用NUnit在.Net编程中进行单元测试
◎Java性能的优化
◎Java内存泄漏分析
◎Java的内存泄漏
热门文章
◎全面介绍单元测试
◎单元测试------理论篇
◎Java内存泄漏分析
◎单元测试作业指导书(一)
◎junit实现过程
◎白盒测试中的六种覆盖方法
◎JUnit起步
◎单元测试方法
◎C/C++单元测试问答(摘要)
◎nunit使用资料
◎单元测试的基本方法
◎如何挑选白盒测试工具
◎NUnit快速入门
◎在Eclipse中使用JUnit
◎Java的内存泄漏
◎Linux:让内存不再泄漏
◎单元测试的小技巧介绍和举例
◎单元测试指导
◎为什么要进行单元测试?
◎单元测试作业指导书(二)
◎“白盒”静动测试两齐全
◎数据库程序的单元测试
◎静态测试
◎单元测试浅析
◎ant结合junit进行软件自动测试
◎单元测试作业指导书(三)
◎单元测试作业指导书(四)
◎CppUnit - 测试驱动开发入门
◎用cppUnit进行单元测试的步骤
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(一)
◎java的单元自动化测试---jtest
◎java单元测试篇:使用clover为java代码的junit测试做覆盖率分析(三)
◎使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Te...
◎C语言单元测试框架-Check
◎EasyMock与JMock的比较
◎Java程序的单元测试
◎JUnit中如何测试异常
◎怎样使用Junit Framework进行单元测试的编写
◎使用NUnit在.Net编程中进行单元测试
◎J2EE应用的性能调整--JPROBE使用篇
◎单元测试和事先测试开发
◎JBuilder单元测试实例
◎感悟测试驱动开发
◎单元测试实践(VB版)
◎软件测试技术获重大突破
◎C语言高效编程的的四招技巧
◎使用ant编译、运行junit、以及检查编码
◎JCoverage使用
◎让编译和测试过程自动化
◎自动进行团队构建和单元测试过程

Google提供的广告