




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NUnit+NUnitAsp使用手册 内容提纲: 1、NUnit1.1、NUnit概述1.2、NUnit的使用1.2.1、安装1.2.2、测试实现1.2.3、图形化界面的使用(nunit-gui.exe)1.2.4、命令行界面的使用(nunit-console)2、NUnitAsp2.1、NUnitAsp 概述2.2、NUnitAsp的使用2.2.1、安装2.2.2、使用参考资料1、NUnit 返回页首 - 1.1、NUnit概述 NUnit是一个用来专门针对.Net应用程序进行单元测试的工具,利用它我们可以很方便的编写一个单元测试代码,方便我们进行单元测试。 NUnit最新的版本是2.1版,大家可以到站点/ 去下载。 使用NUnit可以通过两种方式: 1图形化界面 nunit-gui.exe 2命令行方式 nunit-console.exe返回页首 - 1.2、NUnit的使用返回页首 - 1.2.1、安装 NUnit默认是安装在C:Program FilesNunit V2.1,安装成功后会在桌面出现一个快捷方式。我们可以通过运行安装包自带的例子(nunit.tests.dll.)来验证安装是否成功,下面就是安装成功后出现的界面: 返回页首 - 1.2.2、测试实现 1.测试工程的建立 a.新建一个.Net类库,添加对nunit.framework.dll的引用,给类加上一个“TestFixture”特性,表明这个类包含测试代码; b.对具体的测试方法添加一个“Test”特性,表明这是一个测试方法,并且测试方法的返回值必须为void并且不能带有参数 c.添加对要测试代码(dll)的引用namespace bank using NUnit.Framework; TestFixture public class AccountTest Test public void TransferFunds() 2.Assert类的作用 Assert类用在测试方法中,它定义了一组方法用于检查给定的条件,Nunit 可以通过这个类提供的方法。 来判断期望的测试结果有没有出现。常用的包括: a.AreEqual(object expected ,object actual):判断两个对象是否相等,如果不相等异常“Assertion Failed Error”就会抛出 Assert.AreEqual(250.00F,destination.Balance); Assert.AreEqual(100.00F,source.Balance); b.IsTrue(bool condition):判断条件是否为真,如果为假则异常“AssertException”就会抛出Assert.IsTrue(intI5);注意:Assert类的其他方法的使用见Nunit自带的帮助文档 3.异常(Exception)的处理 用在测试方法中。如果我们希望检测指定的异常是否会抛出,我们可以使用ExpectedException特性: Expected Exception (System.Type exceptionType)。例如我们希望测试方法抛出一个Insufficient Funds Exception 异常我们可以写成: ExpectedException(typeof(insufficientFundsException) public void TransferWithInsufficientFunds() 如果我们希望忽略掉某个异常,我们可以使用Ignore特性:Ignore(string reason) 例如我们希望忽略掉InsufficientFundsException异常就可以写成: Test, Ignore(Need to decide how to implement transaction management in the application) public void TransferWithInsufficientFundsAtomicity() try source.TransferFunds(destination, 300.00F); catch(InsufficientFundsException expected) Assert.AreEqual(200.00F,source.Balance); Assert.AreEqual(150.00F,destination.Balance); 4.TestFixtureSetUp特性 用在测试的方法上,表示这个方法会在所有测试方法运行前运行,在整个测试类中只运行一次。一般用来为测试建立些初始数据:TestFixtureSetUppublic void RunBeforeAllMethods() 5.SetUp特性 用在测试方法上,表示这个方法会在每个测试方法运行前运行,在整个测试类中运行多次,有多少个测试方法就运行多少次。一般用来为测试建立些初始数据: SetUppublic void RunBeforeEachMethod() 6.TestFixtureTearDown特性 用在测试的方法上,表示这个方法会在所有测试方法运行后运行,在整个测试类中只运行一次 7.TearDown特性 用在测试方法上,表示这个方法会在每个测试方法运行后运行,在整个测试类中运行多次,有多少个测试方法就运行多少次。 下面是一个具体的例子:TestFixturepublic class TestFixtureSetUpAndTearDownTestTestFixtureSetUppublic void RunBeforeAllTests()Console.WriteLine( “TestFixtureSetUp” );TestFixtureTearDownpublic void RunAfterAllTests()Console.WriteLine( “TestFixtureTearDown” );SetUppublic void RunBeforeEachTest()Console.WriteLine( “SetUp” );TearDownpublic void RunAfterEachTest()Console.WriteLine( “TearDown” );Testpublic void Test1()Console.WriteLine( “Test1” );Testpublic void Test2()Console.WriteLine( “Test2” ); 运行TestFixtureSetUpAndTearDownTest类得到的输出是:TestFixtureSetUpSetUpTest1TearDownSetUpTest2TearDownTestFixtureTearDown 如果只运行TestFixtureSetUpAndTearDownTest类中的Test2方法,得到的输出是:TestFixtureSetUpSetUpTest2TearDownTestFixtureTearDown 8.Suite 特性 它的主要功能是将所有的测试代码类集合在一起,做为一个组来批量执行。 在旧版本中是做为Suite属性(Property)来实现的.现在已经被替代为Suite特性(attribute)了,在NUnit2.1.4版本中由于有了动态建立对象的机制,一般用的比较少了。 Suite特性只能在命令行界面 (nunit-console.exe) 中使用 下面是一个代码示例:namespace NUnit.Tests using System; using NUnit.Framework; using NUnit.Core; public class AllTests Suite public static TestSuite Suite get TestSuite suite = new TestSuite(All Tests); suite.Add(new OneTestCase(); suite.Add(new Assemblies.AssemblyTests(); suite.Add(new AssertionTest(); return suite; 9.运行 a.编译测试类,生成DLL文件; b.打开Nunit界面,将建立的测试类(DLL文件)导入到Nunit中; c.选择要运行的测试方法,单击“RUN”按钮。如果运行成功(根据Assert或ExpectedException的设置),状态条会变成绿色。 否则为红色注意:Nunit的其他方法的使用见Nunit自带的帮助文档 返回页首 - 1.2.3、图形化界面的使用(nunit-gui.exe) NUnit的图形化界面包括五个菜单选项:File,View,Project,Tools,Help 1File菜单 New Project选项 关闭已经打开的工程(如果打开的工程有改变会提示用户保存),显示FileSave对话框提示用户输入新工程的名称及选择新工程保存的路径。 Open选项 关闭已经打开的工程(如果打开的工程有改变会提示用户保存),显示FileOpen对话框提示用户选择要打开的程序集,测试工程或Visual Studio工程的名称和路径。 Close选项 关闭已经打开的工程(如果打开的工程有改变会提示用户保存)。 Save选项 保存目前打开的工程。如果工程是第一次保存,会显示Save对话框提示用户保存。 Save As选项 显示FileSave对话框让用户指定要保存的工程的名称和路径。 Reload选项 重新载入当前被载入的工程(用当前工程中所有程序集的最新版本。) Recent Files 选项 显示最近打开过的文件列表,这样用户就可以很方便的从里面选择一个要打开的文件 Exit选项。 关闭并退出NUNIT。如果测试正在运行,用户可以选择放弃退出或仍然退出。如果打开的工程被改变了,用户可以先保存工程。 2View菜单 Expand选项 展开界面左边被选择的树的节点。 Collapse选项 折叠界面左边被选择的树的节点。 Expand All选项 展开界面左边树的所有节点。 Collapse All选项 折叠界面左边树的所有节点。 Expand Fixtures 展开界面左边的树中有Fixture特性的节点。 Collapse All选项 折叠界面左边的树中有Fixture特性的节点。 Properties 选项 显示当前被选择的内容的属性对话框。 3Project菜单Configurations子菜单 Add 选项打开Add Configuration对话框,在对话框里可以建立新的配置文件或者替换已有的配置文件。 Edit选项打开Configuration Editor(编辑器)。 Add Assembly选项显示FileOpen对话框,提示用户选择一个要增加到当前打开的工程的配置文件里的程序集。 Add VS Project选项当“Visual Studio Support“选项被选中的时候才出现这个选项。显示FileOpen对话框提示用户选择要加入到当前被打开的工程中的Visual Studio工程文件。 Edit 选项打开一个Project Editor对话框。 4Tool菜单Save Results as XML选项。打开FileSave对话框,将运行的结果保存到一个XML文件中。Options选项显示Options Dialog(Options对话框)。 5Help菜单Help选项目前还不可用。About NUnit显示当前使用的NUnit的版本信息和到N站点的链接。Context菜单(上下文菜单)当右击界面左边树中的节点是会出现上下文菜单。 1Run选项 运行要测试的节点。如果正在运行则选项的状态为“不可用”(Disabled)。 2Expand选项 展开被选择的树的节点。如果节点已经被展开或没有子节点则该选项不可见。 3Collapse选项 折叠被选择的树的节点。如果节点已经被折叠或没有子节点则该选项不可见。 4Properties选项 显示被选择节点的Test Properties对话框。 Options Dialog(Options对话框) 这个对话框在Tools|Options菜单下,在这里用户可以设定NUnit的一些系统配置。 Recent Files:设定放在“最近使用的文件列表”中的文件的数目 Load most recent project at startup:如果此选项被勾中,Nunit的图形化界面会自动载入最近被打开的那个工程文件(当打开Nunit的图形化界面是指定了要打开的文件名称或用了“/noload”参数时除外)。 Initial display on load 设定当载入了要测试的文件后界面左边的树的节点的展开/折叠情况: Expand展开所有的节点 Collapse折叠所有的节点 Hide Test展开所有没有“Fixtures”特性的节点 Auto自动根据树所占用的界面空间的情况来决定是否展开或折叠Assembly Reload选项: 如果“Reload before each test run”被选中,无论测试程序集有没有发生改变,只要“Run”按钮被点击了,测试程序都被重新载入到NUnit中。 如果“Reload when test assembly changes”被选中了,如果测试程序集发生了改变,Nunit就会自动重新载入测试程序集。这个选项对于Windows98和Windows Me操作系统是无效的。 如果“Clear results when tests change”被选中了,当重新载入测试程序集(无论是手工的还是自动的方式)的时候会重新初始化树中的节点(变成灰色)。如果没有选中,当测试结果没有变化的时候测试结果信息会保存下来。 Visual Studio 选项: 如果“Enable Visual Studio Support ”被选中了,用户就可以在Nunit中打开Visual Studio 工程和解决方案,也可以增加Visual Studio工程到正在使用的测试工程中。Configuration Editor(配置编辑器) Configuration Editor(配置编辑器)通过点击Project | Configuration |Edit 来打开,在编辑器里可以进行如下几个操作: 1.Remove 按钮 删除被选中的配置。如果被选中的配置的状态是“Active(激活)”,那么被删除后列表中下一个配置的状态将为“Acitve(激活)” 2.Rename按钮 重新命名选中的配置 3.Add 按钮 增加一个新的配置。在弹出的“Add Configuration”对话框里可以选择已存在的配置模板作为新的配置。 4.Make Active 按钮 激活被选中的配置 5.Cloase按钮 退出配置编辑器 Test Properties 对话框 这个对话框可以通过单击菜单View | Properties 打开,也可以在右键菜单中选择Properties选项打开。它是用来显示测试或测试结果(如果测试已经运行了)的信息。右上角针状的按钮是用来将对话框始终保持打开的状态。Result 页 只有当测试运行了后Result页才会显示出来。它是用来显示测试的结果信息(成功或失败)。Success/Failure 表明测试是成功了还是失败了Time 运行测试所花的时间(单位为秒)Message 显示测试失败后的错误信息. 鼠标移上去会显示全部的信息Stack 如果测试失败了,这里会显示错误的实际位置(在程序集中的)。鼠标移上去会显示全部的信息。Project Editor(工程编辑器) Project Editor(工程编辑器)可以通过单击 Project | Edit 菜单打开。在编辑器里可以新建或修改Nunit的测试工程。值得注意的是,只要载入了要测试的东西(程序集或实际的Visual Studio工程),Nunit就会自动建立一个Nunit的测试工程。 在编辑器里我们可以很方便的改变和保存测试工程的设置。 编辑器分为三个部分:Common Area(公共区) 和两个Tab页,如图:Common Area(公共区)包括: 1.显示工程全名的标签(Project Path) 2.一个用来选择配置的下拉框 3.一个用来编辑配置的按钮(会打开Configuration Editor对话框)General Tab页 在这里可以修改当前被选中的配置的一些属性.所有的配置属性会被保存在Nunit工程文件中(作为 XML节点的属性保存) 1.ApplcationBase 默认的值是工程文件所在的路径.用户可以指定另外一个路径。 2.Configuration File Name 配置文件的名称(默认是将工程文件名的.Nunit后缀改为.Config.做为配置文件的名称)。用户可以在这里修改配置文件的名称。 3.PrivateBinPath 默认的设置是和在Assemblies Tab页设置的程序集(Assembly)的路径是一样的。如果用户有其他方式的需要。可以通过”specified manually”或”None-or specified in the configuration file.”来获得。Results Tab页 Results Tab页列出了测试工程所包含的程序集的列表。Checkbox框用来表明那些包含测试的程序集。通过选中要测试的程序集用户可以自动的生成”PrivateBinPath”.NUNIT的图形化界面不会载入那些没有选中的程序集(Checkbox框没有选中),但是会用他们的路径来产生”PrivateBinPath”并且会跟踪他们是否发生了改变(如果自动载入测试的功能被选中了)。 注意:尽管对话框中显示的是程序集的绝对路径,但实际上在Nunit的工程文件里保存的是相对路径,这样就可以和容易的将Nunit工程移动到另外一个位置而步会影响到里面包含的程序集文件。 1.Add Assembly按钮 打开一个对话框让用户添加一个程序集(Assembly)。 2.Add VS Project 按钮 打开一个对话框让用户添加一个Visual Studio工程。 3.Edit Path 按钮 打开一个对话框让用户改变选中的程序集的路径。 4.Remove Assembly按钮 删除选中的程序集。返回页首 - 1.2.4、命令行界面的使用(nunit-console) 以命令行的方式使用NUnit(通过nunit-console.exe)具有一些图形化界面所没有的功能。 命令行的方式必须指定要测试的程序集或工程文件的名称。 命令行的方式用XML格式的文件来保存测试的输出结果(默认的名称是TestResult.xml,存放在当前的工作目录下)。 1.指定要运行的程序集 命令行方式必须指定一个要运行的程序集或工程。 运行nunit.tests.dll可以写成: nunit-console.exe nunit.tests.dll 运行包含nunit.tests.dll的Visual Studio工程可以写成: nunit-console.exe nunit.tests.csproj 运行包含nunit.tests.dll的Nunit测试工程可以写成: nunit-console.exe nunit.tests.nunit 2.指定要运行的程序集和具体的方法(Fixture) 要运行程序集中具体的方法需要给出它的全名。例如要运行nunit.test.dll 中的Test类中的AssertionTest方法。可以写成: nunit-console /fixture:NUnit.Tests.AssertionTests nunit.tests.dll 3.指定XMl文件的名称 前面我们说了,命令行方式产生的输出是XML格式的文件,并且有默认的名称。如果我们想将默认的文件名改为console-test.xml,可以写成: nunit-console /assembly:nunit.tests.dll /xml:console-test.xml 4.指定转换文件 命令行方式可以通过XSLT文件将XML格式的输出文件转换成其他格式的文件。 例如我们想用myTransform.xslt文件来进行转换就可以写成: nunit-console nunit.tests.dll /transform:myTransform.xslt 5.指定要用的配置 当运行Nunit工程或Visual Studio工程的时候,默认的“Debug”配置会被自动载入。 可以通过/config开关来指定要用的配置。例如我们想用Release配置来运行nunit.tests.dll 就可以写成: Nunit-console.exe nunit.tests.csproj /config:Release 6.指定多个程序集 可以同时运行多个程序集.例如要同时运行assembly1.dll,assembly2.dll 和assembly3.dll 就可以写成: nunit-console.exe assembly1.dll assembly2.dll assembly3.dll 7.其他的开关选项/wait :需要用户输入才能退出Nunit/xmlconsole :在控制台中显示XML格式的输出返回页首 - 2、NUnitAsp 返回页首 - 2.1、NUnitAsp 概述 NUnitAsp是一个专门用来对Asp.Net页面进行单元测试的工具,它只能测试服务端的代码逻辑,不能测试JavaScript和其他客户端代码 它是Nunit的扩展,具备NUnit的所有功能。 最新的版本是1.4.1版,需要NUnit2.1版的支持(我们介绍的就是1.4.1版本)。返回页首 - 2.2、NUnitAsp的使用 返回页首 - 2.2.1、安装 安装NUnitAsp非常简单,需要以下两步就可以了 1)从站点下载并解压,默认式安装在C:Program FilesNunitAsp目录下 2)安装NUnit2.4.1版本返回页首 - 2.2.2、使用 使用NUnitAsp的测试程序由三部分组成: a.用来分析Asp.Net页面的各种Tester对象的实例; b.通过Browse对象从Web服务器载入要分析的页面; c.用Assert类来进行测试(做关于各种Tester对象的断言)。 1测试工程的建立 a新建个.Net类库,添加对NunitAsp.dll 和nunit.framework.dll的引用; b添加对命名空间NUnit.Extensions.Asp和NUnit.Extensions.Asp.AspTester的引用; c将类的基类设为WebFormTestCaseusing System;using NUnit.Extensions.Asp;using NUnit.Extensions.Asp.AspTester;namespace GuestBookTestspublic class GuestBookTest : WebFormTestCasepublic void TestNothing() 2WebFormTestCase类 所有的测试程序都要求继承WebFormTestCase类,它提供了很多有用的属性和方法: A.Browser属性 用来载入要测试的Asp.Net页面(通过GetPage方法) 它是.Net 中HttpClient类型的对象public void test()Browser.GetPage(“http:/localhost/example/example.aspx”); B.CurrentWebForm属性 表示当前的WebForm对象,一般用在实例化Tester对象的时候 C.SetUp和TearDown方法 用来为测试程序做数据准备和数据删除的工作,运行在每个测试方法的开始和结束,类似与Nunit的SetUp和TearDown特性,测试程序必须要重写这两个方法才能实现相应的功能protected override void SetUp() base.SetUp();protected override void TearDown() base.TearDown(); 3Tester对象 Tester对象是用来管理要测试的Asp.Net页面中的Asp.Net控件的,它的实例具有相应的控件所有的属性和方法。实例化这个对象需要两个参数:控件的ID和控件所在的容器(页面或控件)。例如我们要测试页面中Textbox控件的内容,就可以写成:public void test()TextBoxTester objTester=new TextBoxTester(txtName,CurrentWebForm);string str=objTester.Text;Browser.GetPage(http:/localhost/example/example.aspx); 其他的控件依次类推。注意:其他Tester对象的使用方法见NunitAsp自带的帮助文档。 4WebAssertion类的使用 这个类的很多方法都是用来做判断(断言的) ,例如页面中控件是否显示了,控件的内容是否是预定的值等等,它是从Nunit中的Assertion类继承来的。 a.AssertEquals方法 方法的签名是:AssertEquals(string errormessage,string ExpectedValue,string ActualValue) 断言两个字符对象是相等的。不等就抛出错误字符串(errorMesage)public void test()TextBoxTester objTester=newTextBoxTester(txtName,CurrentWebForm);string str=objTester.Text;Browser.GetPage(http:/localhost/example/example.aspx); WebAssertion.AssertEquals(“textboxs value is error”,”ExpectedValue”,objTester); b.AssertVisibility方法 方法的签名是: AssertVisibili
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石嘴山市招标采购从业人员考试(招标采购专业实务初级)在线复习题库及答案(2025年)
- 河北招标采购从业人员专业技术能力考试(招标采购合同管理中级)全真题库及答案(2025年)
- 《红岩》整本书课件
- 教育扶贫项目合同-教育扶贫项目合同5篇
- 膝关节置换术配合护理
- 《礼记一则》课件
- 城中村拆迁办合同范本9篇
- 广东省深圳市龙华区2023-2024学年高一上学期第二次月考化学试卷及答案
- 广东省梅州市蕉岭县2023-2024学年高二上学期第二次月考历史考试题目及答案
- 公司放假期间安全培训课件
- 胸腔积液诊断的中国专家共识(2022版)解读
- 【高考地理】流水侵蚀地貌(公开课课件)
- 第六章泌尿生殖系统的检查教程
- 图说保额分红
- 生物地理学第2章生物群落课件
- 重离子、质子治疗前景与适应症-武汉
- 组织行为学(-)(英文版)课件
- 商务谈判(完整版)课件
- 小学数学教师新课标考试试题
- 小学数学北师大四年级上册五方向与位置四上《用数对确定位置》北师大版李雪梅PPT
- 步进电机控制系统课件
评论
0/150
提交评论