网址: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方法指示使用现有数据测试不能完成。需要其他情况下用另外的数据运行才能完成,生产一个成功或者失败的结果。

[翻译]NUnit---Exception && Utility Methods (六)的更多相关文章

  1. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)

    在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模 ...

  2. Reactor系列(六)Exception异常系列(六)Exception异常

    #java##reactor##flux##error##exception# 视频解说: https://www.bilibili.com/video/av79468713/ FluxMonoTes ...

  3. 2 GPS utility methods

    Methond 1 is to check whether the GPS is on: 1 2 3 4 5 public boolean isGPSIsOn() { LocationManager ...

  4. Q promise API简单翻译

    详细API:https://github.com/kriskowal/q/wiki/API-Reference Q提供了promise的一种实现方式,现在在node中用的已经比较多了.因为没有中文的a ...

  5. 在.NET开发中的单元测试工具之(1)——NUnit

    NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...

  6. 在.NET开发中的单元测试工具之——NUnit

    NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...

  7. HashMap源码翻译

    /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...

  8. zookeeper(六):Zookeeper客户端Curator的API使用详解

    简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsEx ...

  9. Effective Java 27 Favor generic methods

    Static utility methods are particularly good candidates for generification. The type parameter list, ...

随机推荐

  1. centos7安装kvm虚拟机

    一 centos7安装kvm虚拟机 1.验证CPU是否支持KVM 结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. [root@centos ~]# egrep '(vmx| ...

  2. python3.6的requests库&HTMLTestRunner实现测试报告

    '''1. 在suite.addTest时,可以把需要的用例先写入一个列表list中,list当做addTest的参数:2. 在unittest.main(verbosity=2)中,默认为1,设置为 ...

  3. stark组件之显示页面内容搭建(六)

    之前主要介绍了前端页面list_fiter功能的显示,但是list_display功能的展示并没有过多介绍,这里介绍一下是如何实现的. 可以看到凡是蓝线圈起来的都是通过字段名反射一个个取出来的,红线的 ...

  4. 91-Williams' Percent Range 威廉指标.(2015.7.4)

    Williams' Percent Range 威廉指标 ~计算: %R = (HIGH(i-n)-CLOSE)/(HIGH(i-n)-LOW(i-n))×100 注解:CLOSE: 当前时段的收盘价 ...

  5. wps填充1到1000

    A1单元格1 ,选中,填充,序列,确定

  6. 用友NC客户端地址

    http://uclient.yonyou.com/liyan5(李艳) 08-23 14:29:41在这里输入http://10.0.0.67:80

  7. poj 1330lca模板题离线算法

    #include<iostream> #include<vector> using namespace std; const int MAX=10001; int pre[MA ...

  8. 2017 CCPC 杭州 HDU6265B 积性函数

    题目链接 http://acm.hdu.edu.cn/downloads/CCPC2018-Hangzhou-ProblemSet.pdf B题 数论题      h(n)=∑ d|n φ(d) × ...

  9. [bzoj2982]combination_卢卡斯

    Combination bzoj-2982 题目大意:求$C_n^m/%10007$. 注释:$1\le n,m\le 2\cdot 10^9$. 想法:裸卢卡斯定理. 先处理出$mod$数之内的阶乘 ...

  10. Git回退---reset和revert

    今天学习了git回退的两个命令,现在总结一下: 1.git reset 如果想回退错误的提交C和D,只要把指针移到B上 git reset --hard a0fvf8 而这时候,远程仓库的指针还在D上 ...