如何使用NUnit进行单元测试

本人是在最近要用到测试的时候,发现自己装的vs2005版本不对。发现菜单栏里面没有测试。在网上搜索后发现NUnit这个单元测试工具。这篇帖子是转载http://www.cnblogs.com/saptechnique/archive/2008/04/25/1170945.html。我觉得这篇帖子图文并貌,对我我这样的初学者很有用,希望也能给大家带来点小小的收获。


一、安装:
    我们使用的NUnit大多都是绿色版的,不存在安装的问题。但也有一部分用的可能是打包成MSI的程序,直接安装一下就好了。
二、执行测试程序:
    NUnit提供了三种模式:GUI模式(nunit-gui.exe)、命令行模式和插件模式。我只使用的是GUI模式的,其它两种模式您可以去用用。
三、如何编写用于NUnit单元测试的类:
1.首先创建一个要测试的类文件[ClassLibraryForTestTool]。
代码:

 1 using  System;
 2 using
 System.Collections.Generic;
 3 using
 System.Text;
 4

 5 namespace
 ClassLibraryForTestTool
 6
{
 7      public   class
 ClassMain
 8     
{
 9          public   string  Add( int
 N3)
10         
{
11              switch
 (N3)
12             
{
13                  case   1
:
14                      return   " You Input 1. "
;
15                      break
;
16                  case   2
:
17                      return   " You Input 2. "
;
18                      break
;
19                  default
:
20                      return   " You Input wrong number. "
;
21             }

22         }

23     }

24 }

25

2.创建一个测试的类[NTestingCodes]:
在其中添加一个类文件[NClassLibraryForTestTool.cs]
引用NUnit.Framework
如何使用NUnit进行单元测试_第1张图片
然后在代码之前添加:

1 using  NUnit.Framework;


要想让编写的代码让NUnit识别,需要在类前面添加[TestFixture],并且在方法前面添加[Test]。并且注意,测试类中的代码必须为Public Void型。
代码:

 1 using  System;
 2 using
 System.Collections.Generic;
 3 using
 System.Text;
 4

 5 using
 NUnit.Framework;
 6

 7 namespace
 NTestingCodes
 8
{
 9
    [TestFixture]
10      public   class
 NClassLibraryForTestTool
11     
{
12
        [Test]
13          public   void
 Add()
14         
{
15             Console.WriteLine( " Prepare to test  . "
);
16             ClassLibraryForTestTool.ClassMain cm  =   new
 ClassLibraryForTestTool.ClassMain();
17              string
 rvalue;
18             rvalue  =  cm.Add( 1
);
19             Console.WriteLine( " Rvalue from 1:  "   +
 rvalue);
20             rvalue  =  cm.Add( 2
);
21             Console.WriteLine( " Rvalue from 2:  "   +
 rvalue);
22             rvalue  =  cm.Add( 3
);
23             Console.WriteLine( " Rvalue from 3:  "   +
 rvalue);
24

25             Console.WriteLine( " Test compelete! "
);
26         }

27     }

28 }

现在打开NUnit-Gui.exe,打开项目,找到那个生成的NtestingCodes.dll文件,如图:
如何使用NUnit进行单元测试_第2张图片
点击运行,以下是测试结果:
如何使用NUnit进行单元测试_第3张图片
您可以单击左面的父结点,以便测试整个项目中的所有方法,单击一个方法的结点就仅对一个结点进行测试。
四、使用中的一些小技巧:
    我在实际使用中,一般喜欢用Consonle.WriteLine()方法,把执行步骤的信息打印出来,这样就可以查看程序运行到哪一步出了问题。
    不必担心Consonle.WriteLine()方法会显示一些乱七八糟的东西,只要不是Consonle程序,都不会显示的。当然,为了避免此问题你也可以用#if #endif 语句进行标识。
    另外,还有人可能会用到“Test, ExpectedException(typeof
(ArgumentException))]”,但我一直就只用的Test,现在对于我还算够用。
    使用Ctrl+Shift+B键还可以快速生成解决方案。

你可能感兴趣的:(单元测试,测试,单元测试工具)