网址:http://www.cnblogs.com/kim01/archive/2013/04/01/2994378.html

Exception Asserts (NUnit 2.5)

Assert.Throws 作用于类本身,而不是比较值,它调用代理来验证抛代码片段出一个特定异常。

在一个类可中Assert成功时可以是返回一个Exception而不是void,下面的例子代表了几种使用方式。

Assert.Throws可以使用约束参数或者是异常类型作为预期的抛出异常类型。类型格式可以是泛型或者一般类型。

Assert.DoesNotThrow用于确认代理不会抛出异常。

Assert.Catch 与 Assert.Throws 相似,但是当一个异常派生意另一个异常是会通过。


在上面的例子中TestDelegate 是void TestDelegate()的一个代理类型,用于执行验证问题的代码。在.NET2.0中可以使用匿名代理。如果在C#3.0中可能会是一个lambda表达式。

下面的例子显示了统一例子的几个方式:

下面代码演示了使用返回值来验证异常:

下面的例子使用包含了约束的重载来验证异常:

使用适合自己的风格来撰写代码。

Exact Versus Derived Types

当使用Type作为参数是,Assert.Throws 需要抛出精确的类型。如果希望测试派生Type,使用以下允许指定约束的格式。可以二选一使用允许派生类型的Assert.Throws或者Assert.Catch。看如下例子:

See also...

Utility Methods

4个功能方法:Pass()Fail()Ignore() and Inconclusive() 用来直接控制测试进程:

Assert.Pass方法可以直接结束测试,并标记为成功。这会抛出一个异常,能更方便的从测试返回。然而, Assert.Pass允许在测试结果中记录一个信息并且让测试在某些情况下更容易阅读。

另外,和本页面其他方法一样,能够从嵌套的方法调用并立即终止运行的测试。

Assert.Fail方法提供生成一个失败,这个失败必须基于未被其他方法封装。这在开发指定项目assertions的时候非常有用。

下面是一个示例,它创建了一个私有assertion来测试一个字符串是否包含一个预期值。

Assert.Ignore 方法用于在运行时动态忽悠一个测试用例。可以在一个test、setup 、fixture setup 等方法。

我们建议仅在独立用例中使用。这些提供更广泛的包含或者排除的测试,或者可以在不同的程序集不同的时机分离测试。

Assert.Inconclusive方法指示使用现有数据测试不能完成。需要其他情况下用另外的数据运行才能完成,生产一个成功或者失败的结果。

最新文章

  1. ca 自签名证书 并实现HAProxy https功能
  2. hibernate框架之-查询结果集返回类型
  3. 使用oracle的大数据工具ODCH访问HDFS数据文件
  4. ASP.NET MVC使用Bootstrap系列(4)——使用JavaScript插件
  5. mongodb中的副本集搭建实践
  6. thinkphp开发技巧经验分享
  7. java多线程之从任务中获取返回值
  8. nodejs的调试(node-inspector)
  9. 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务
  10. java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例
  11. 记一次VS Code崩溃的解决(Win10扫描自动回复系统文件)
  12. 笔记:Maven 项目目录结构
  13. C++笔记010:C++对C的扩展——register关键字增强
  14. 严重: A child container failed during start
  15. hdu6249 区间动态规划
  16. iOS--LaunchImage启动页设置及问题解决
  17. Delphi 限制Edit输入 多个例子
  18. BZOJ2287 【POJ Challenge】消失之物 动态规划 分治
  19. numpy 用于图像处理
  20. 恢复VS2010/VS2013项目为VS2008项目

热门文章

  1. [Python3网络爬虫开发实战] 3.1.3-解析链接
  2. eclipse 导入svn项目并添加server
  3. assert.ok()详解
  4. PHP:验证手机号码合法性
  5. SSL 握手协议详解
  6. Vue如何在data中正常引入图片路径
  7. 【04】< meta > 元素
  8. JavaEE JDBC PreparedStatement
  9. 【数轴涂色+并查集路径压缩+加速】C. String Reconstruction
  10. Bzoj3038 上帝造题的七分钟2 线段树