[译]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.python生成器 2.while 1: num = input('请输入一个整数(输入Q结束程序):') if num != 'Q': num = int(num) print('十进制 -&g ...
- 零基础入门学习Python(20)--函数:内嵌函数和闭包
知识点 global关键字 使用global关键字,可以修改全局变量: >>> count = 5 >>> def Myfun(): count = 10 prin ...
- CSRF之Ajax请求
A:Ajax提交数据是,携带的CSRF在data中: <form method="POST" action="/csrf.html"> {% csr ...
- MySQL简单查询和单表查询
MySQL记录操作 概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用 ...
- C#上位机开发(三)—— 构建SerialAssistant雏形
上一篇简单介绍了C#的一些基本知识,并成功的Hello,World,那么从这篇开始,我们来自己动手写一个串口助手: 1.构思功能 串口助手在单片机开发中经常被用来调试,最基本的功能就是接收功能和发送功 ...
- Qt笔记——连接第三方库&用libZPlay库获取音频文件的艺术家、专辑等信息
连接第三方库libZPlay 概述 需要.a/.lib ,.h , .dll 三个文件 官网下载 http://libzplay.sourceforge.net/ import .h 链接 .a 放入 ...
- idea 修改Git密码和账号方法
IDEA修改git账号及密码的方法: 1.file->settings->passwords 2.重启IDEA 3.执行一次提交或更新 当执行提交或更新之后,idea会自动提示输入账号.密 ...
- JS基础:正则表达式
简介 正则表达式 (regular expression) 描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串.将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等.在 JS ...
- JS前端取得并解析后台服务器返回的JSON数据的方法
摘要:主要介绍:使用eval函数解析JSON数据:$.getJSON()方法获得服务器返回的JSON数据 JavaScript eval() 函数 eval(string) 函数可计算某个字符串,并执 ...
- PatentTips - Hierarchical RAID system including multiple RAIDs
BACKGROUND OF THE INVENTION The present invention relates to a storage system offering large capacit ...