[译]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的地方都能获得一样的 ...
随机推荐
- 笔试算法题(35):最长递增子序列 & 判定一个字符串是否可由另一个字符串旋转得到
出题:求数组中最长递增子序列的长度(递增子序列的元素可以不相连): 分析: 解法1:应用DP之前需要确定当前问题是否具有无后效性,也就是每个状态都是对之前状态的一个总结,之后的状态仅会受到前一个状态的 ...
- mySQL--找出各科最高成绩
//找出各科最高成绩create table gradeMax(id int primary key auto_increment,name varchar(20),subject varchar(2 ...
- python3.x Day6 多进程
多进程:1.每个子进程申请到的资源都是独立的,不与其他进程共享.2.语法上和线程基本上差不多,使用multiprocessing.Process(target=xxxx,args=(xxx,xxx,x ...
- maven项目运行tomcat7-maven-plugin:run时出现Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.util.Scanner(xjl456852原创)
使用tomcat7-maven-plugin插件运行web项目时, 出现下面错误: [WARNING] Error injecting: org.sonatype.plexus.build.incre ...
- Quartz.Net 学习之路02 初探Quartz.Net
第二讲:简单的实例,看看Quartz.Net强在哪里? 直接上代码,代码里有注释: using System; using Quartz; using Quartz.Impl; namespace L ...
- Wireshark抓包工具的简单使用1(界面介绍)
Wireshark安装完成后,就可以打开,具体运行界面如下 一.菜单——用于开始操作 File ——包括打开.合并捕捉文件,save/保存,Print/打印,Export/导出捕捉文件的全部或部分.以 ...
- 在docker下面安装Nginx PHP mysql let's encrypt
最近自己在弄了个Nginx PHP Mysql Let's encrypt的docker,下面记录一下 1)先装 Let's encrypt docker run --rm -p 80:80 -p 4 ...
- 状态压缩DP总结
POJ1185 炮兵部队问题: 在平原上才能放置炮兵,每个炮兵的上下左右2格之内都不能出现别的炮兵 可以考虑在当前行放置炮兵它的右侧和下侧绝对不会出现炮兵即可,左侧和上侧就能省去考虑 明显的状态压缩d ...
- [codevs4655] 序列终结者(Splay)
传送门 支持操作: 1.区间加 2.区间翻转 3.区间求最大值 splay模板 注意:update 里更新 max 时需要取 3 个值的 Max 别忘了各种边界讨论 ——代码 #include < ...
- anaconda是个啥?
Anaconda具有跨平台(win/mac/linux).包管理(类似于pip).环境管理(类似于virtualenv)的特点,因此很适合快速在新的机器上部署Python环境 Anaconda利用工具 ...