一、NUnit介绍

  NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和xUnit体系中的大多数的做法一样,仅仅是将Smalltalk或者Java版本转换而来,但是在.NET2.0之后它加入了一些特有的做法。NUnit的官方网站是:http://www.nunit.org/,目前的最新版本是:2.6.2。

二、NUnit下载与安装

  NUnit的每个版本都提供了两种形式的下载:安装文件和免安装方式,分别是*.msi格式和*.zip格式。前者需要安装才能使用,并且会在安装过程中创建一些快捷方式和注册NUnit的dll到GAC,这样以后编写NUnit测试类的时候添加NUnit的dll就像添加.Net Framework的dll一样。如果是下载的zip格式的文件,则不会创建快捷方式和注册dll,在编写单元测试类时需要手动指定NUnit的dll的路径。
  NUnit的运行有三种方式:命令行和图形用户界面。以当前电脑上安装的NUnit2.6.4为例,安装路径为:D:\Program Files\NUnit 2.6.4,其下有两个目录:bin、doc。如果是采用免安装模式的话,运行NUnit就需要运行bin目录下的文件,在bin目录下有net-1.1和net-2.0两个文件夹,分别对应.net的不同版本。
  下面介绍如何以不同的方式启动NUnit:
  命令行模式:运行nunit-console.exe。
  图形用户界面模式:运行nunit.exe。
  并行(parallel)模式:运行pnunit-launcher.exe。
  注意:.Net2.0版本的NUnit是使用/platform:anycpu参数来编译的,我们知道这样的结果是运行在x86的系统上会被JIT编译成32位的程序,而在x64的系统上会被JIT编译成64位的程序。如果使用NUnit在x64系统上测试32位的程序就会带来问题。为了避免这个问题,可以使用nunit-agent-x86.exe/nunit-x86.exe来测试,因为在编译的时候使用了/platform:x86作为编译参数。
  下图是运行NUnit的GUI界面:
  单元测试学习之NUint

三、NUnit的常用Attribute标记

  这些都是可以用来作为类或者方法的属性,它们都是System.Attribute类的直接或间接子类,有如下:
  Category:用来将测试分类。这个在主界面可以看到Tests/Categories两个选项卡,如果给方法标记了Category属性就会在Categories选项卡中看得到。

  Combinatorial:用来将来测试时需要测试各种可能的组合,比如如下代码:

[Test, Combinatorial]  
  public void MyTest(  
  [Values(1, 2, 3)] int x,  
  [Values("A", "B")] string s)  
  {  
      string value = x + s;  
      Assert.Greater(2, value.Length);  
  } 
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-23
  • 2021-05-27
  • 2022-01-09
  • 2021-11-06
猜你喜欢
  • 2022-12-23
  • 2021-12-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
  • 2021-09-04
相关资源
相似解决方案