单元测试是一个成熟项目必不可少的一个环节,NUnit很好的提供了测元测试的一些方法,以下是我得出的一点点经验以及NUnit的一点点实际应用中用到的内容。写的有点儿乱,不懂下面留言。谢谢~

准备NUnit
1. 下载NUnit 官网www.nunit.com    下载msi即可
2. 点击安装。选择完整版
3. 是一个单元测试框架,专门针对.NET,
 
说明NUnit  
1. 标签(属性)Attribute
[TestFixture] 说明该class包含有测试
注:必须是Public,否则NUnit看不到
2[Test] 标记该方法是一个测试方法,或者说该方法是可以测试的。
public void TestName() 必须不能有参数。
3Assert(断言),是一个类,包含的方法有:
AreEqual,AreSame,Equals, Fail,Ignore,IsFalse,IsNotNull。
应用NUnit
1. 创建project 一般用ClassLibrary。
2. Add References:"nunit.framework.dll"
3. 创建一个类,以Arithmetic
4. SetUp/TearDown 属性
SetUp中一般都是写初始化数据(公共的)等
最常见:比如数据库连接(如果下面的用到数据库的话),定义一些常量
TearDown中一般写恢复数据等,例如在数据表中添加了一条数据,就需要在该方法中删除此数据(更新)
5. Ignore属性
由于一些原因(由于该测试方法运行后,引发下面的测试方法出错),需要暂时忽略该方法的运行,将其他的先执行
在方法上面添加[Ignore("Multiplication is ignored")]即可。执行后颜色是黄色
6. TestFixtureSetUp/TestFixtureTearDown
和SetUp和TearDown相似
不同之处:对于昂贵资源,例如数据库连接,一般都是关键资源。而且多次连接/关闭数据库会造成时间的浪费。
SetUp和TearDown是每个test方法执行时,都需要执行,而TestFixtureSetUp/TestFixtureTearDown是该类第一个test执行时
执行TestFixtureSetUp,最后一个执行完后,执行TestFixtureTearDown。
7. ExpectedException
这里是一个验证这个假设的测试.有的时候,我们知道某些操作会有异常出现,例如, 在实例中增加除法,某个操作被0除,
抛出的异常和.NET文档描述的一样 [ExpectedException(typeof(DivideByZeroException))]
8. Test Suite 测试套件 (其实是一个分组)
如果不是同一个class中的方法,不能有[TestFixture]
如:
9. Category 对测试方法进行分组;Ecplicit被选中时才能进行测试
说明UT的一些习惯
1. 被测试method如果有多个分支,尤其是带有switch,各种if..else,try...catch,应该写多个test去测试,而不是在一个测试中测试
2. 测试范围,比如一个方法是验证一个数字是否是1和10之间,则取样点应该是:0,1,10,11,中间随便,即临界值
断点调试
1.      NUnit自动启动,调试
右击Test project    →选择Properties    →Debug    →选择Start external program,然后选择自己的安装路径下的NUnit.exe.
2.      断点调试
Debug →Attach to Process,然后点击Attach即可

NUnit使用方法的更多相关文章

  1. 使用MVC 5、Web API 2、KnockoutJS、Ninject和NUnit开发、架构和测试Web应用程序

    做一名微软软件开发人员就像在国际煎饼屋订早餐一样.每道菜都有一堆煎饼,你必须从各种各样的煎饼和糖浆口味中选择.对于web应用程序,解决方案堆栈是一组软件子系统或组件,用于交付功能完整的解决方案(无论是 ...

  2. UnityTestTools測试工具

    由于工作关系,要了解Unity上的測试工具,该工具基于Nunit框架.通过查阅资料了解到在Unity5.3中做出了一些改变,自带的仅仅剩下单元測试工具,假设想用其它的工具比方断言.集成測试,就须要前往 ...

  3. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  4. NUnit详细使用方法

    http://www.ltesting.net/ceshi/open/kydycsgj/nunit/ http://nunit.org/index.php?p=download NUnit详细使用方法 ...

  5. Nunit常用的方法说明

    下来还是分为2个部分,一是NUnit的布局,另外一部分就是它的核心概念. 首先熟悉一下NUnit GUI的布局. 让我们更进一步看一下测试运行器窗口的布局.在右边面板的中间,可以看到测试进度条.进度条 ...

  6. C#单元测试:NUnit详细使用方法

    1. TDD的简介 首先什么是TDD呢?Kent Beck在他的<<测试驱动开发 >>(Addison-Wesley Professional,2003)一书中,使用下面2个原 ...

  7. NUnit基本使用方法

    通常的单元测试框架都以他们支持的语言的开头字母加上Unit作为名字,他们统称为xUnit框架.C++的叫做CppUnit,Java的叫做JUnit,.Net的叫做NUnit.当然不是所有的都这么命名, ...

  8. NUnit.Framework的使用方法演示

    using NUnit.Framework; namespace CheckExcel { [TestFixture] public class TestExcelHelper { /// <s ...

  9. 使用NUnit为游戏项目编写高质量单元测试的思考

    0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...

随机推荐

  1. 小工具:内存监视器(SystemMonitor)

    卸了360之后,与之捆绑的加速球也没了.加速球可以查看剩余内存量,清理残留进程,有的时候不觉得这小玩意有多大作用,卸了之后才知道后悔. 加速球的替代方案比比皆是,如Windows自带的任务管理器,窗口 ...

  2. table中的边框合并实例

    <html><head><style type="text/css">table,th,td{border:1px solid blue;bor ...

  3. javascript、jQuery的扩展方法,扩展实例展示代码

    $(function () {    var total = 0, height = $(window).height(), memberScroll, cartScroll, proScroll;  ...

  4. centos6.5 x86_64安装oracle 11.2.0.3grid

     centos6.5 x86_64安装oracle 11.2.0.3grid 1.安装前的准备 工作 1.1.配置node1 1.1.1.配置虚拟机并安装centos 安装node1----- 1 ...

  5. 基于Qt语音识别功能

    基于在最近的研究Qt语音识别平台下.在此记录12 首先,语音识别做三件事 1.记录用户的语音文件到本地 2.将用户语音编码 使用flac或者speex进行编码 3.使用第三方语音识别API或者SDK进 ...

  6. 使用ArcGIS API for Silverlight实现地形坡度在线分析

    原文:使用ArcGIS API for Silverlight实现地形坡度在线分析 苦逼的研究生课程终于在今天结束了,也许从今以后再也不会坐在大学的课堂上正式的听老师讲课了,接下来的时间就得开始找工作 ...

  7. 有意思的cmd命令

    1. Msconfig命令显示系统配置窗体,能够了解一些服务.启动相关的信息. 2.Gpedit.msc 命令显示本地组策略编辑器,能够设置用户登录时执行的程序. 3. Regedit 这个应该非常多 ...

  8. 【Python】Python与文本处理langid工具包的文本语言检测和歧视

    1.问题的叙述性说明 使用Python文本处理.文字有时被包括中国.英语.在日本和其他语言文字,进行处理.这个时候就须要判别当前文本是属于哪个语系的. Python中有个langid工具包提供了此功能 ...

  9. iOS开展 - 中国 iOS/Mac 开发博客列表

    博客地址 RSS地址 OneV's Den http://onevcat.com/atom.xml 破船之家 http://beyondvincent.com/atom.xml NSHipster h ...

  10. 在C#编程中玩转枚举,分享我的EnumHelper。

    在C#编程中玩转枚举,分享我的EnumHelper. 在软件开发过程中,我们经常会为特定的场景下的特定数据定义逻辑意义.比如在用户表中,我们可能会有一个用户状态字段,该字段为整形.如果该字段的值为1则 ...