[译]NUnit--Installation(三)
Installation
NUnit安装程序默认安装文件路径为C:\Program Files\NUnit 2.6.2。根据用户选择安装的选项,安装文件有三个子文件夹:bin、doc、samples。源码以后不再与安装文件一起打包,提供单独下载。
Running NUnit
根据电脑不同操作系统,在.NET、Mono等的NUnit安装程序在开始菜单有几个快捷方式。尽管可以在独立进程中运行不同CLR版本的测试,对于NUnit2.5,GUI只能在CLR2.0下运行。
Installation Verification
NUnit自带的测试作为安装选项,如果你安装了,你可以通过运行NUnit GUI加载并运行NUnitTests.nunit来确认安装成功。所有的测试应该都执行成功。
Additional Tests
额外的测试包含在例子Samples和单独的程序集中作为自测的数据,并且部分故意设置为失败或者不运行。
Manual Installation
你可以使用Visual Studio解决方案或者NAnt脚本来构建NUnit。这两种情况下都会创建一个输入目录,目录包含了全部文件。
.NET 1.1 Support
NUnit对.NET1.1的支持包在一个独立的下载中。可以单独安装,它提供了一个受限制的控制台程序或者作为NUnit全部安装的一部分。当与以前版本NUnit一起安装时,可以在GUI上运行.NET1.1测试用例。全部功能的一部分,安装程序安装在NUnit相同的硬盘位置。
From NUnit 2.x
一般情况下有两种方式来运行早期NUnit2.0到2.5.10版本的测试用例:
1、不用重新编译就运行测试。在项目没有变化是这是最好的方式。能够保证构建测试的框架程序集在测试路劲中可用。
2、重新编译测试用例涉及的最新版本框架组建。在开发一个程序时这种方法是最好的方式。
注意:NUnit2.6不再识别老式的以”Test“开始命名的测试用例。如果仍然拥有早期的测试用例,你需要将早期用例转换为TestAttribute 并重新编译。用新的框架版本重新编译是非常有意义的。
From NUnit 1.x
为了在NUnit2.5上运行,2.0版本之前的测试用例需要进行重写并编译。
Writing Tests
NUnit测试可以用任何支持特性的.NET语言编写。
特性用来支出测试类或者方法,并且用不同方式来修改他们的行为。
Assertions测试一个或者多个约束的实际值,结果为成功或者失败。
通过使用测试上下文(Test Context),用户可以获取有关测试和环境的信息。
Assertions
Assertions 是任何xUnit测试框架的核心并且是无异常的。在NUnit中Assert类提供了丰富的Assertions静态方法。
如果一个Assertion失败,该方法不返回同时会报告一个错误。如果一个测试包含多个Assertion,失败之后的Assertions都不会执行。所以最好是每个测试使用一个Assertion。
可以使用无消息、简单的文本消息、消息和参数三种方式来调用一个方法,但在使用第三种方式(消息和参数)时文本需要格式化。
Two Models
在NUnit2.4版本之前,每个不同的Assertion使用Assert类的一个独立方法。我们称这个为“经典模式”,同时由于很多人都喜欢这样,所以会继续支持。
从NUnit2.4开始,我们引入了一个新的“基于约束‘模式。这种方式通过指定测试的约束对象为所有Assertions只需使用Assert 类的一个方法。
这种基于约束模式在所有NUnit 的Assertion内部使用。以前的经典方法已在新的模式进行了实现。
[译]NUnit--Installation(三)的更多相关文章
- 使用神经网络来识别手写数字【译】(三)- 用Python代码实现
实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNI ...
- 【译】第三篇 SQL Server安全主体和安全对象
本篇文章是SQL Server安全系列的第三篇,详细内容请参考原文. 一般来说,你通过给主体分配对象的权限来实现SQL Server上的用户与对象的安全.在这一系列,你会学习在SQL Server实例 ...
- 【译】第三篇 Replication:事务复制-发布服务器
本篇文章是SQL Server Replication系列的第三篇,详细内容请参考原文. 发布服务器是所有复制数据的源头.每一个发布服务器上可以定义多个发布.每一个发布包含一组项目(项目在同一个数据库 ...
- 【译】第三篇 Integration Services:增量加载-Adding Rows
本篇文章是Integration Services系列的第三篇,详细内容请参考原文. 增量加载是什么增量加载仅加载与先前加载差异的.差异包括:->新增的行->更新的行->删除的行通过 ...
- 【译】第三篇 SQL Server代理警报和操作员
本篇文章是SQL Server代理系列的第三篇,详细内容请参考原文. 正如这一系列的上一篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行,除了步骤中执行的工 ...
- 单元测试之NUnit三
NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 除了Assert断言外 ...
- 单元测试之NUnit二
NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 本文介绍常用的NUni ...
- 单元测试之NUnit一
NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 NUnit是什么? N ...
- 在webstrorm中配置好es6 babel
第一步,新建一个项目,我这里建立了基于express 的node项目 第二步:将JavaScript语言版本切换为ECMAScript6 点击File —>settings,弹出设置框.把js的 ...
- Markdown初使用
Markdown是一种纯文本格式的标记语言.通过简单的标记语法,它可以使普通文本内容具有一定的格式. 相比WYSIWYG编辑器 优点:1.因为是纯文本,所以只要支持Markdown的地方都能获得一样的 ...
随机推荐
- Python 1-2模块的循环导入问题
run.py文件: import m1 # 第一次导入 # 验证解决方案一: ''' 正在导入m1 正在导入m2 ''' # print(m1.x) # print(m1.y) # 验证解决方案二: ...
- python 1-1模块介绍和使用
1. 什么是模块 1.1 模块就是一系列功能的集合体 1.1.1 模块有三种来源 1.内置的模块 2.第三方的模块 3.自定义模块 1.1.2 模块的格式: 1.使用Python编写的.py文件 2. ...
- Python 函数对象-函数嵌套-名称空间与作用域-闭包函数
今日内容: 1. 函数对象 函数是第一类对象: 指的是函数名指向的值可以被当中数据去使用 1.可以被引用 2.可以当做参数传给另一个函数 3.可以当做一个函数的返回值 4.可以当做容器类型的元素 2. ...
- [Python3网络爬虫开发实战] 5.2-关系型数据库存储
关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来保存的,所以它的存储方式就是行列组成的表,每一列是一个字段,每一行是一条记录.表可以看作某个实体的集合,而实体之间存在联系,这就需要表与表之 ...
- YUM:Yellow dog Updater Modified
1. 什么是YUM YUM(全称为 Yellow dog Updater Modified) 是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从 ...
- MongoDB的游标操作
MongoDB的游标操作 制作人:全心全意 游标:查询的返回资源或接口,这个接口可以逐条查询 游标的声明 var cursor = db.collection名.find(); cursor.hasN ...
- Buffer.alloc()
Buffer.alloc(size[, fill[, encoding]]) Node.js FS模块方法速查 size {Number} fill {Value} 默认:undefined enco ...
- PHP:GD库 图片水印处理
文章来源:http://www.cnblogs.com/hello-tl/p/7592974.html <?php /** * 处理图片类 * 1.添加文字水印 * 2.添加图片水印 * 3.压 ...
- 基于html实现一个todolist待办事项
index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- [luoguP1013] 进制位(搜索)
传送门 纯搜索,无优化! #include <cstdio> #include <cstring> #include <iostream> #include < ...