使用NUnit进行单元测试——开始篇(Getting Started)

来源:互联网 发布:淘宝网上买东西咋买 编辑:程序博客网 时间:2024/06/08 03:37
NUnit是.Net平台一个很流行的单元测试框架,事实上也是我唯一听过的一个(恕我孤陋寡闻),它作为xUnit系列测试框架的一员,都起源于JUnit。在TDD(测试驱动开发)中,更是必不可少的工具,有关TDD并不是本文的重点,还不清楚的并且想要了解的可以Google或者百度一下。在学习.Net的时候,想要试用一下某个类库以了解特性,使用NUnit写个测试类也比写个控制台程序输出要高效的多。而且它上手容易,使用简单,总之我现在写C#代码已经离不开它了。
虽然早有前人大牛写了不少介绍文了,一搜就能轻松搜到,不过我写的目的就是为了记录备查,同时写一写记得更牢。
下面讲正题:
一、获取NUnit
可从NUnit官方网站http://www.nunit.org/下载
具体页面为http://www.nunit.org/index.php?p=download
本文撰写时的最新版本为NUnit 2.6.0.11340 (Beta 3),但推荐版本为NUnit 2.5.10 ,建议使用推荐版本(Recommended),可下载.msi安装文件直接安装,简单方便。安装过程就不多说了吧。另外,NUnit是开源的,对应版本的源代码和文档也可以在同个页面下载,有兴趣的朋友不妨可以研究下。
安装完成后通常开始菜单就会增加NUnit的GUI工具的快捷方式,当然也可以从NUnit安装目录中的bin打开nunit.exe,打开后的工具就长这个样子:



二、Hello NUnit
安装完之后就是要第一次使用了,.Net平台本人只会C#,就用C#写个最简单的测试用例吧。
首先,打开VS,新建工程TryNUnit,添加引用,如果前面安装顺利的话,可以在.Net标签页找到nunit.framework,如图

就算没有也没关系,可以在NUnit安装目录下的framework目录找到相应的dll,引用之。
下一步新建类HelloNUnit,代码参考:
using NUnit.Framework;namespace TryNunit{    [TestFixture]    public class HelloNUnit    {        [Test]        public void SayHello()        {            int a = 1;            int b = 2;            System.Console.WriteLine("Hello NUnit!");            Assert.AreEqual(3, a + b);        }    }}
敲完代码,F6编译之,打开生成的输出路径,通常就是工程目录中的bin下面,找到刚刚生成的TryNUnit.dll,也可能是TryNUnit.exe,这取决于你新建工程时选择的工程类型,不过都没关系。
还记得刚才的GUI工具吗,把TryNUnit.dll拖入进去,当然你也可以老老实实的File-->Open Project再找到相应的程序集,然后你会看到


NUnit会找到被你打了[TestFixture]标记的类和打了[Test]标记的方法,而这些方法都是会被运行的,运行一下代码,看看会不会出问题,这不就是测试的目的吗,于是你注意到那个大大的Run按钮,点之。正常情况下就会看到Run下面的长条框变成绿色,然后在Text Output标签页可以看到控制台输出的Hello NUnit,就像这样:


绿色表示测试通过了,就像绿灯一样,是我们喜欢的颜色,而如果出了什么状况,比如程序运行结果与预期不符,或者抛出了未被捕获的异常,就会变成红色,同时Errors and Failures标签页也会输出相应的提示信息,就像这样:



不知不觉码这么点字用了一个多小时,第一次写博,措辞还不熟练,看客见谅。
关于NUnit的简单介绍就到这里了,更具体的用法,我之后有时间会再整理,当然最权威的参考还是官方网站的参考文档http://www.nunit.org/index.php?p=documentation

最后就是老规矩:欢迎转载,但请注明出处