单元测试软件Nunit使用说明
时间:2009-6-2 10:09:58 作者: 来源:
 

一:软件及安装

    免费,开源的单元测试软件。

    安装只要运行安装程序,按所有缺省设置即可。

    nunit:www.nunit.org

    nunit addin :http://sourceforge.net/projects/nunitaddin/

    二:dll的测试

    1:新建一个class library project,

    2:加入待测试dll的引用,

    3:加入nunit.framework.dll的引用

    4:在文件开头加入:using nunit.framework

    5:在待测试的类前加入:[testfixture]

    6:在待测试的方法前加入:[test]

    7:启动nunit-gui,新建项目,将新建的class library project加入,执行。

    三:attribute简介

    1:testfixture:每个待测试的类前必须加该attribute。

    【注意】待测试类需要有一个public的default constructor(或者是没有定义任何的constructor)

    2:test:每个测试的类中待测试的函数前必须加该attribute。

    【注意】有test attribute的method必须是public的,并且必须return void,也没有任何传入的参数。如果没有符合这些规定,在test runner gui之中是不会列出这个method的,而且在执行unit test的时候也不会执行这个method。

    3:testfixturesetup 和testfixtureteardown简介

    这两个主要用在testfixture里面,其作用是提供一组函数执行任何测试运行之前(testfixturesetup)和最后一个测试执行后(testfixtureteardown)。每一个testfixture只能有一个testfixturesetup方法和testfixtureteardown方法。如果一个以上的testfixturesetup和testfixtureteardown方法,可以通过编译但是不会执行。注意一个testfixture可以拥有一个testfixturesetup和一个setup,也可以拥有一个testfixtureteardown和一个teardown方法。

    testfixturesetup 和 testfixtureteardown 被用在不方便使用setup和teardown方法。

    一般情况使用 setup 和teardown attributes。

    4:setup 和 teardown attributes简介

    在写unit tests的时候,有时你会需要在执行每一个test method之前(或之后)先作一些预备或善后工作。当然,你可以写一个private的method,然后在每一个test method的一开头或最末端呼叫这个特别的method。或者,你可以使用我们要介绍的setup及teardown attributes来达到相同的目的。如同这两个attributes的名字的意思,有setup attribute的method会在该textfixture中的每一个test method被执行之前先被test runner所执行,而有teardown attribute的method则会在每一个test method被执行之后被test runner所执行。一般来说,setup attribute及teardown attribute被用来预备一些必须的objects(对象),例如database connection、等等。

 5:attribute说明

    testfixture:每个待测试的类前必须加该attribute。

    test:每个测试的类中待测试的函数前必须加该attribute。

    testfixturesetup:在一个测试类中只执行一次,且在所有测试案例运行前执行

    setup:在每个测试案例运行前执行

    add:测试案例1

    teardown:在每个测试案例运行后执行

    setup:在每个测试案例运行前执行

    sub:测试案例2

    teardown:在每个测试案例运行后执行

    testfixtureteardown:在一个测试类中只执行一次,且在所有

[1] [2] [3] 下一页

测试案例运行后执行

    expectedexception:检测抛出异常

    [test]

    [expectedexception(typeof(invalidoperationexception))]

    [test,expectedexception(typeof(invalidoperationexception))]

    ignore :临时忽略一些测试

    ignore(“not ready to test this yet”);

    四:nunit的各种断言 

    断言用于帮助你确定某个被测试函数是否工作正常,通常一个测试方法中会有多个断言,当一个断言失败时,该测试方法就会终止。可使用assert或assertion调用断言函数。

    1:areequals(expected,actual[,string message])

    expected是被测试代码的期望值,actual是被测试代码的实际值,message是一个可选的消息,在二个值不一致时报告错误。expected和actual可以是一个对象。

    对于浮点数的比较,使用areequals(expected,actual,tolerance[,string message]),其中,tolerance表示精度,0.01表示仅比较小数后二位。

    2:isnull/isnotnull(object[,string message])

    判断一个对象是空/非空。

    3:aresame(expected,actual[,string message])

    判断expected和actual是否是同一个对象。

    4:istrue(bool condition[,string message])/isfalse

    判断条件是否为真/假。

    5:fail([string message])

    使测试立即失效。

    五:异常处理

    nunit框架可以捕获任何异常,并且把它报告为一个错误,这些都不需要用户的参与

    六:测试用例编写

    nunit使用断言业判断待测试代码是否返回正确的结果,在编写测试用例的过程中,

上一页  [1] [2] [3] 下一页

经常需要有一个正确的值作为依据,与测试代码返回的值进行比较。在有些情况下,可以比较容易地取到这些正确的值,但有时要取得这些正确的值并不容易。如在从数据库取数据时,难以设定一个正确的值,在这种情况下,最好使用一些已被测试是正确的或商用的模块程序,将这些测试过的程序或商用模块返回的值作为正确的值,作为一个比较参照。

上一页  [1] [2] [3] 

上一篇:
下一篇:
 
网页模板 网站模板 网站建设 网页设计 网页设计师兼职 自助建站 ...
网站魔坊,网页模板,网站模板,免费网页模板,在线模板设计,免费建站,门户网站搭建,建站,企业网站,奇思网络,奇思,智能建站,自助建站,拖动建站,网站建设,网页设计,在线设计模板
www.wzmof.com/ 47K 2009-5-21
 
商巢...
商巢是一个真实的商业交友社区、为用户提供交友、贸易、社区、建站等服务;临渊慕鱼,不如退而结网!商巢结网行动
www.ncooo.com/ 47K 2009-5-21
 
商巢创业 门户创业 商人网络家园 魔坊建站 商业交友
商巢下的门户,门户又一独立实体与商巢合作,由商巢负责技术的更新以及硬件的支持,门户负责自己领域的市场推广以及相应的售后服务即可。 打破以往门户需要源源不断的技术、硬件投入模式,盈利模式清晰 行业门户以及门户下企业网站由网站魔坊...
mhcy.ncooo.com/ 36K 2009-5-14
 
奇思网络技术 网站建设 深圳网站建设
中小外贸企业做电子商务,需要从两点技术突围 08-01 企业网站建设 提供网站策划、网站建设、数据库开发至网络营销全套解决方案。能针对客户所处行业,结合营销特征量身订做高质量网站建设方案。 网站推广 怎样使网站的投资得到回报?这需要经验...
www.qsnet.com.cn/ 48K 2009-4-2
 
深圳艺术网
深圳艺术网,中国艺术网,中国当代艺术网,广东当代艺术网,广东艺术网,南方当代艺术网,深圳美术网,深港美术网,深港艺术网,深港当代艺术网,杜应红,深圳当代艺术创作库,深圳创库,深圳美术,深圳艺术,深圳收藏,深圳艺术收藏,深圳音乐网,深圳舞蹈...
www.szarts.cn/ 119K 2009-6-9
 
网页设计也通过人脉赚钱-技术传播
 
网页设计114 -打造中国网页设计、网站建设技术信息学习、交流、互动平台
                         打造网页设计师兼职创业平台中心