专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »DotNet » nunit的使用:DotNet下NUnit的使用(2) »正文

nunit的使用:DotNet下NUnit的使用(2)

来源: 发布时间:星期五, 2008年11月14日 浏览:59次 评论:0
准备工作
1. 打开visual studio, 新建一个“Class Library”工程,命名为“NUnitDemo”
2. 在工程中新建一个Class:“FirstNUnitClass”, 在类中添加一个public的方法:GetBonous(int level), 最终类的内容:

public int GetBonous(int level)

{

int bonous = 0;

switch (level)

{

case 1:

bonous = 1000;

break;

case 2:

bonous = 2000;

break;

case 3:

bonous = 3000;

break;

default:

bonous = 0;

break;

}
return bonous;

}


在当前solution下 新建一个"Class Library"工程,命名为“NUnitDemoTest”
将项目"NUnitDemo"添加到Test工程的引用里面,将nunit.framework.dll, nunit.core.dll, nunit.fixtures.dll这三个文件的路径引用也添加到工程的引用里面。
新建一个类"FirstNUnitDemoTest", 敲入一下内容:

[TestFixture]

public class FirstNUnitDemoTest

{

private FirstNUnitDemo _firstNunitDemo;



public FirstNUnitDemoTest()

{

_firstNunitDemo = new FirstNUnitDemo();

}



[Test]

public void GetBonousLevel1Test()

{

int level = 1;

int expectBonous = 1000;

int actualBonous = _firstNunitDemo.GetBonous(level);



Assert.AreEqual(expectBonous, actualBonous, "Bonous");

}



[Test]

public void GetBonousLevel2Test()

{

int level = 2;

int expectBonous = 2000;

int actualBonous = _firstNunitDemo.GetBonous(level);



Assert.AreEqual(expectBonous, actualBonous, "Bonous");

}



[Test]

public void GetBonousLevel3Test()

{

int level = 3;

int expectBonous = 3000;

int actualBonous = _firstNunitDemo.GetBonous(level);



Assert.AreEqual(expectBonous, actualBonous, "Bonous");

}



[Test]

public void GetBonousLevel4Test()

{

int level = 4;

int expectBonous = 0;

int actualBonous = _firstNunitDemo.GetBonous(level);



Assert.AreEqual(expectBonous, actualBonous, "Bonous");

}



[Test, ExpectedException(typeof(ArgumentException), ExpectedMessage = "Invalid argument.")]

public void GetBonousLevel0Test()

{

int level = 0;

_firstNunitDemo.GetBonous(level);

}

}



在solution的根目录下面新建两个文件, NUnitDemo.Test.nunit 和 NUnitDemo.Test.config, 内容分别为:
文件NUnitDemo.Test.nunit:


<NUnitProject>
<Settings appbase="." />
<Config name="Default" binpathtype="Auto">
<assembly path="NUnitDemoTest\bin\Debug\NUnitDemoTest.dll" />
</Config>
</NUnitProject>
注意要把NUnitDemoTest.dll这个文件的路径设置到您对应的磁盘目录。
文件NUnitDemo.Test.config:(注:该文件相当于web站点的web.config文件,数据库连接等信息会出现在这里,这里就不列出了)。

用NUnit.exe工具打开NUnitDemo.Test.nunit,点击“运行”,看看结果。。。


对NUnit的Attribute的介绍:
1. TestFixture: 这个attribute用于需要测试的类,是一个用于类的attribute,在含有unit-tests的类上都要加上这个attribute,不然您将看不到任何的测试用例^_^.
2. Test: 这是一个用于方法(method)d哦attribute, 用在您需要当作unit-test的method上,如果没有这个标签,那么这个方法将不会出现在unit-tests列表中。
3. 结果验证:Assert.*方法可以用来验证方法运行的结果是否与您期待的结果一直,这个方法的具体列表和说明请参阅http://www.nunit.org/index.php?p=assertions&r=2.4.8
到这里为止,我们看到的知识NUnit最基本的功能,还有其他常用的attribute,例如Setup,TearDown等也是NUnit中很重要而且也很常用的attribute,如果想熟练的使用NUnit,学习这两个attribute也是必不可少的,混合使用这连个attribute可以解决例如“对数据库中的数据进行unit-test的时候不影响原有数据”等一系列的功能。
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: