TestCaseAttribute (NUnit 2.5)

  TestCase特性有两个效果,包括标记一个方法使用参数并且在调用的时候提供内置数据。示例如下,本示例会使用不同数据集执行3次:

  

[TestCase(12,3,4)]
[TestCase(12,2,6)]
[TestCase(12,4,3)]
public void DivideTest(int n, int d, int q)
{
Assert.AreEqual( q, n / d );
}

  Note:.net特性的限制了参数类型,NUnit会在提供给测试用力前尝试将提供的值用Convert.ChangeType()进行转换。

  在一个测试方法上可以多次运用TestCase特性,TestCase特性还可以使用FactoriesAttribute等特性来提供数据。

  通过使用Result参数,测试用例可以有更简单

[TestCase(12,3, Result=4)]
[TestCase(12,2, Result=6)]
[TestCase(12,4, Result=3)]
public int DivideTest(int n, int d)
{
return( n / d );
}

  在上面的示例中,NUnit会检查方法返回值是否与提供的Result参数值相等。

  TestCaseAttribute还提供一些列其他属性:

    Description:描述测试用例详情

    ExpectedException:指定期望抛出的异常

    ExpectedExceptionName:指定期望抛出异常的全名

    ExpectedMessage:指定期望抛出异常的信息

    Explict:设置为true标记测试用例为显示执行,用Reason来诠释缘由

    Ignore:设置为true用于指定忽略测试用例,用Reason来诠释缘由

    IgnoreReason:指定忽略测试用例及缘由,等同于同时使用Ignore && Reason。注意:本特性会在以后版本中移除

    MatchType:MessageMatch枚举类型,指定测试期望信息(详情见ExpectedExceptionAttribute

    Reason:指定不执行测试用例的缘由,结合Ignore或Explicit特性使用

    Result:指定测试方法期望的返回值,返回值类型必须是可兼容的

    TestName:为测试用例指定一个名称,如果不指定会根据测试方法及参数自动生成。

执行顺序:

  在NUnit2.5,会根据字母少顺序排序及执行。从NUnit2.5.1开始,测试用例不会排序,会根据发行的顺序进行执行。这个发现的顺序不是根据特性字典的顺序来排列并且会根据不同的编译器及CLR的版本不同而不同。

  结果就是在一个测试方法中,TestCase特性出现多次或者其他提供数据的特性与TestCase特性一起使用,测试用例的顺序是不明确的。

[翻译]NUnit---TestCase Attributes(二十一)的更多相关文章

  1. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  2. 云计算设计模式(二十一)——Sharding分片模式

    云计算设计模式(二十一)——Sharding分片模式 将一个数据存储到一组水平分区或碎片.存储和访问大量数据时,这个模式可以提高可扩展性. 背景和问题 由一个单一的服务器托管的数据存储区可能会受到以下 ...

  3. 二十一世纪计算 | John Hopcroft:AI革命

    编者按:信息革命的浪潮浩浩汤汤,越来越多的人将注意力转向人工智能,想探索它对人类生产生活所产生的可能影响.人工智能的下一步发展将主要来自深度学习,在这个领域中,更多令人兴奋的话题在等待我们探讨:神经网 ...

  4. 无废话ExtJs 入门教程二十一[继承:Extend]

    无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...

  5. Bootstrap <基础二十一>徽章(Badges)

    Bootstrap 徽章(Badges).徽章与标签相似,主要的区别在于徽章的边角更加圆滑. 徽章(Badges)主要用于突出显示新的或未读的项.如需使用徽章,只需要把 <span class= ...

  6. 【圣诞特献】Web 前端开发精华文章推荐【系列二十一】

    <Web 前端开发精华文章推荐>2013年第九期(总第二十一期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和  ...

  7. Citrix 服务器虚拟化之二十一 桌面虚拟化之部署Provisioning Services

    Citrix 服务器虚拟化之二十一  桌面虚拟化之部署Provisioning Services Provisioning Services 是Citrix 出品的一系列虚拟化产品中最核心的一个组件, ...

  8. 二十一、contextMap中放的常用数据

    二十一.contextMap中放的常用数据 request:请求范围的数据.即ServletRequest中的那个Map parameters:请求参数的数据.即request.getParamete ...

  9. 牢记!SQL Server数据库开发的二十一条注意点

    如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL  Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS). ...

随机推荐

  1. vue 实例生命周期

    compile template into render function 编译模板渲染方法 compile el’s ouoterHtml as template 将el的outerHTML当做模板 ...

  2. Treasures and Vikings(两次搜索)

    Treasures and Vikings https://www.luogu.org/problemnew/show/P4668 题意翻译 你有一张藏宝图,藏宝图可视为 N×MN×M 的网格.每个格 ...

  3. The Unique MST

    The Unique MST http://poj.org/problem?id=1679 Time Limit: 1000MS   Memory Limit: 10000K Total Submis ...

  4. C# .net MD5加密函数

    using System.Web.Security; string password =FormsAuthentication.HashPasswordForStoringInConfigFile(t ...

  5. vue小常识小注意

    1,跨域携带cookie,加一个拦截器,能后加上request.credentials=true就可以了 Vue.http.interceptors.push(function(request, ne ...

  6. 抓取访客ip

    $realip = $_SERVER['REMOTE_ADDR'] $proxy_ip = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);//有用到代理 ...

  7. Java数据结构和算法(一)散列表

    Java数据结构和算法(一)散列表 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 散列表(Hash table) 也叫哈希表 ...

  8. Sketch小妙招:在线分享设计

    Sketch是很多产品经理.UI.UX设计师常使用的一款的设计工具,但是我在使用Sketch的过程中发现了一个让我困扰的事儿,或者说它缺少了一个我非常需要的服务:在线分享设计.可能很多使用Sketch ...

  9. tty linux 打开和设置范例

    http://bbs.csdn.net/topics/340184140 /************************************************************** ...

  10. 44 The shopping psychology 购物心理

    The shopping psychology 购物心理 ①People can be addicted to different things ---e. g.,alcohol, drugs, ce ...