使用NUnit进行单元测试

    NUnit是xUnit家族中的一员,适用于.NET的开发者。其简单易用,界面简洁,是.NET程序员的好帮手。

    如果说你没有进行单元测试的良好习惯,建议你还是好好想想,如何保证你程序的正确性?纯粹依赖于Debug,效率无疑是非常低下的。而且更为重要的是,程序的可测试性,对于系统整体架构影响至关重要。可测试性从代码使用者的角度来看代码,和从代码内部看代码,是两个视角。这里不展开讨论。

   NUnit是由个人开发的,可以免费使用,其下载地址为:http://www.nunit.org/

   这里以NUnit2.6.3为例,来说明如何使用Nunit进行单元测试。

    首先是下载并安装NUnit,这里不细说。

    安装好以后,在VS2010中,建立测试工程。

    使用NUnit进行单元测试_第1张图片

    在References中,加入Nunit的动态库:

    使用NUnit进行单元测试_第2张图片

    好了,现在可以编写测试代码了。 如果你知道TDD(Test Drive Development),那么先写测试代码,再写代码,是个良好的编程体验。

    一个样例文件如下:

    使用NUnit进行单元测试_第3张图片

     首先,你要引用NUnit的Framework。其次,TestFixture标签定义的测试大类,会出现在NUnit的测试用例中,比如下面这个例子:

   

    Setup标签是进行初始化的。为保证每次测试的环境一样,往往需要准备数据,准备环境等,如果每个测试用例都写一遍,代码就太重复了。使用Setup,把初始化内容写入,这样NUnit框架保证每个测试用例运行时,都会先执行Setup,从而达到测试用例之间的隔离。

    Test标签就是测试用例,每个测试用例也会出现在NUnit中。

    NUnit提供了丰富的断言,读者可以自行查看。

    在VS中完成了测试工程的编写后,我们转到NUnit看看。

    首先,在【File】菜单中选择【New Project】,弹出提示框中输入工程名字。

    接着,在【Project】菜单中,选择【Add Assembly】,在弹出的对话框中,选择要执行的测试工程的dll或者exe。

    加载完毕后,就可以看到我们在刚才的测试文件中,所有标注有TestFixture和Test标签的测试用例了。选择某个或者所有测试用例,单击右边界面上的Run,就可以执行测试用例。其他的就不讲了,看看界面提示就知道那些用例通过,那些没有通过了。

    根据用例执行情况,修改源代码后,再次编译,NUnit能够自动重新加载测试工程,这点很不错。

    说到底,NUnit只是一个测试工具,它可以提升你写测试的效率,以及执行测试的效率。但如何写好测试代码,如何用测试来驱动生成代码甚至系统架构,则需要经过专门的训练。

   

你可能感兴趣的:(使用NUnit进行单元测试)