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
相关文章读者评论发表评论 |