单元测试资料汇总

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

从安装到配置

首先到官网http://www.nunit.org/下载如下图的资料,安装NUnit-2.6.1.msi包。

然后挂在VS2010外部工具这个地方来使用,工具—>外部工具—>添加—>标题:Nunit—>命令:安装路径—>确定。

然后打开Nunit,工具—>Nunit。

VS2010 NUnit 整合插件 Visual Nunit 2010下载:

http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099,下载安装完毕就能在 VS2010 的 视图->其它窗体 中看到 Visual Nunit了(或使用快捷键Ctrl + F7),打开该视图,将之拖到合适的位置。打开如下图,会自动加载测试的方法。

使用入门

建立项目如下图(注意项目依赖,程序集引用):

//Number.cs

namespace BaseClass

{

public class Number

{

public static int TestMethod()

{

return 29;

}

}

}

//NunitTestClass.cs

namespace NunitTestClass

{

/// <summary>

/// 初行-博客园 http://zxlovenet.cnblogs.com

/// </summary>

/// 这是一个测试类

[NUnit.Framework.TestFixture]

public class NunberTest

{

//测试用的方法

//方法必须是public,返回类型void,无参

[Test]

public void GetTestAreEqual()

{

int test1 = BaseClass.Number.TestMethod();

//验证test1的值必须是29才能通过

Assert.AreEqual(29, test1);

}

[Test]

public void GetTestGreater()

{

int test1 = BaseClass.Number.TestMethod();

//验证test1de值必须大于0才能通过

Assert.Greater(test1, 30);

}

}

}

然后F6生成,找到生成文件如下图:

VS2010下,工具—>Nunit,打开后 File—>NewPRoject…,保存到一个位置,然后点Fiel—>Save。添加程序集:Project—>Add Assembly…,找到测试文件如下图:

打开后的效果如图:

点击Run执行测试,效果如下图:

通过上图可以看出,通过测试的会打“√”,无法通过测试的打“×”。

博客园-初行 2014.3.10编辑

让我们更进一步看一下测试运行器窗口的布局。在右边面板的中间,可以看到测试进度条。进度条的颜色反映了测试执行的状态:

l 绿色 描述目前所执行的测试都通过

l 黄色 意味某些测试忽略,但是这里没有失败

l 红色 表示有失败

底部的状态条表示下面的状态:

l 状态.说明了现在运行测试的状态。当所有测试完成时,状态变为Completed.运行测试中,状态是Running: <test-name> (<test-name>是正在运行的测试名称)。

l Test Cases说明加载的程序集中测试案例的总个数。这也是测试树里叶子节点的个数。

l Tests Run 已经完成的测试个数。

l Failures 到目前为止,所有测试中失败的个数.

l Time 显示运行测试时间(以秒计)

File主菜单有以下内容:

l New Project允许你创建一个新工程。工程是一个测试程序集的集合。这种机制让你组织多个测试程序集,并把他们作为一个组对待。

l Open 加载一个新的测试程序集,或一个以前保存的NUnit工程文件。

l Close关闭现在加载的测试程序集或现在加载的NUnit工程。

l Save 保存现在的Nunit工程到一个文件。如果正工作单个程序集,本菜单项允许你创建一个新的NUnit工程,并把它保存在文件里。

l Save As允许你将现有NUnit工程作为一个文件保存。

l Reload 强制重载现有测试程序集或NUnit工程。NUnit-Gui自动监测现加载的测试程序集的变化。

当程序集变化时,测试运行器重新加载测试程序集。(当测试正运行时,现在加载的测试程序集不会重新加载。在测试运行之间测试程序集仅可以重新加载。一个忠告:如果测试程序集依赖另外一个程序集,测试运行器不会观察任何依赖的程序集。对测试运行器来说,强制一个重载使全部依赖的程序集变化可见。

l Recent Files 说明5个最近在NUnit中加载的测试程序集或NUnit工程(这个列表在Windows注册表,由每个用户维护,因此如果你共享你的PC,你仅看到你的测试)。最近程序集的数量可以使用Options菜单项修改,可以访问Tool主菜单。

l Exit退出。

l View菜单有以下内容:

l Expand一层层扩展现在树中所选节点

l Collapse 折叠现在树中选择的节点

l Expand All递归扩展树中所选节点后的所有节点

l Collapse All递归折叠树中所选节点后的所有节点

l Expand Fixtures扩展树中所有代表测试fixture的节点。

l Collapse Fixtures 折叠树中所有代表测试fixture的节点。

l Properties 显示树中现所选节点的属性。

l Tools 菜单由这些项:

l Save Results asxml作为一XML文件保存运行测试的结果。

l Options让你定制NUnit的行为。

l 现在看看右边,你已经熟悉Run按钮和进度条。这里还有一个紧跟Run按钮的Stop按钮:点击这个按钮会终止执行正运行的测试。进度条下面是一个文本窗口,在它上方,由以下4个标签:

l Errors and Failures 窗口显示失败的测试。在我们的例子里,这个窗口是空。

l Tests Not Run 窗口显示没有得到执行的测试。

l Console.Error 窗口显示运行测试产生的错误消息。这些此消息是应用程序代码使用Console.Error输出流可以输出的。

l Console.Out窗口显示运行测试打印到Console.Error输出流的文本消息。

参考资料:http://confach.cnblogs.com/archive/2005/06/20/177817.aspx

总结

NUnit有这样几个优点

1.独立于IDE,可以单独运行。也可以以命令行方式运行。(vs应该也可以吧?)

2.版本更新快。(我不认为这是个优点,而且我也并不觉得快啊。)

3.VS的UT工具运行速度慢。(不一定)

NUite也有这样几个缺点

1.不支持Debug,要安装TestDriven.NET才支持。

2.不支持代码覆盖率的查看,要和NCover一起用。而VS的代码覆盖很清楚。

3.不能自动生成测试代码,也许和CodeSmith一起用好些,不过后着要收费的。

心情不爽,发篇随笔调整用一下心情~

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航