网址: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. matplotlib.pyplot.pcolormesh

     matplotlib.pyplot.pcolormesh(*args, alpha=None, norm=None, cmap=None, vmin=None, vmax=None, shading ...

  2. 78-DeMarker,价格波动指数.(2015.7.1)

    DeMarker 价格波动指数 观井映天 2015.7.1

  3. sqlite3 新建数据库的过程

    有些东西,很简单,不过有坑,就变复杂了.我先说最简单的方法,新建一个空的txt文档,然后把后缀改为db就可以了.-_-蛋疼,其实一开始我是不知道的,也是后来成功新建db后发现db为0kb才大胆地做了这 ...

  4. <转> 二分图多重匹配问题

    在二分图最大匹配中,每个点(不管是X方点还是Y方点)最多只能和一条匹配边相关联,然而,我们经常遇到这种问题,即二分图匹配中一个点可以和多条匹配边相关联,但有上限,或者说,Li表示点i最多可以和多少条匹 ...

  5. 九度oj 题目1057:众数

    题目1057:众数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9744 解决:3263 题目描述: 输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数, ...

  6. Linux下汇编语言学习笔记55 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  7. c++ stl 使用汇总(string,vector,map,set)

    1.string 1>substr(),截取字串的方法.返回一个从指定位置开始,并具有指定长度的子字符串.参数 start(必选),所需的子字符串的起始位置.字符串中第一个字符的索引为 0.le ...

  8. (入门SpringBoot)SpringBoot来临(一)

    .创建独立的Spring应用程序. .嵌入tomcat,Jetty或者Undertow,无需部署war文件; .允许通过Maven来获取starter; .尽可能的自动配置Spring. .提供生产就 ...

  9. SqlServer2008发布订阅(数据同步)

    目录 1. 发布必备条件 1.1. 数据库故障还原模型必需为完全还原模型 1.2. 数据库被同步的数据表必须有主键 1.3. 计算机名称来进行SQLServer服务器的注册 1.4. SQLServe ...

  10. python dos2unix

    有时你在windows上创建的文件拿到Linux/unix上运行会出错, 这是因为windows上有些字符如换行符在linux/unix不识别.这种情况下需要用dos2unix这个工具把文件转换成li ...