一:软件及安装
免费,开源的单元测试软件。
安装只要运行安装程序,按所有缺省设置即可。
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:在一个测试类中只执行一次,且在所有