[译]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的地方都能获得一样的 ...
随机推荐
- UVA 140 Bandwidth (dfs 剪枝 映射)
题意: 给定一个n个结点的图G和一个结点的排列, 定义结点i的带宽b(i)为i和相邻结点在排列中的最远距离, 所有b(i)的最大值就是这个图的带宽, 给定G, 求让带宽最小的结点排列. 给定的图 n ...
- Lucene_Hello(示例)
(1)创建project (2)导入Lucene的核心包 (3)编写代码建立索引 /lucene01/src/cn/hk/lucene/TestIndex.java: package cn.hk.lu ...
- 将cocos2dx 2.x.x从eclipse转移到Android Studio遇到的问题
cocos2dx 2.x.x从eclipse转移到Android Studio遇到的问题 可能我用不太习惯Android Studio才会遇到这么多问题,让老手们见笑了. cocos2dx的最新版本, ...
- selenium IDE断言设置实践
断言: 验证应用程序的状态是否同所期望的一致. 常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确等等. 断言被用于4种模式+5种手段: Assert Assert 断言失败时,该测试将终 ...
- ORACLE RAC with NFS install
第一步:建立第一台节点机1).拷贝一台虚拟机做第一个节点,增加host-only的网卡 kudzu工具识别网卡(两都host-only是可以的).然后以下步骤修改相应的配置.etc/hosts内容如下 ...
- POJ3669 Meteor Shower
http://poj.org/problem?id=3669 类似于迷宫的一道题 但是并没有 给出迷宫具体什么样 但是题目已说在坐标轴的第一象限 然后障碍就是 流星雨所砸范围 安全位置:永远不会发生危 ...
- Layui图标
layui 图标 layui 的所有图标全部采用字体形式,取材于阿里巴巴矢量图标库(iconfont).因此你可以把一个 icon 看作是一个普通的文字,这意味着你直接用 css 控制文字属性,如 c ...
- docker容器-快速部署Jenkins
1.在本地虚拟机环境.安装CentOS 7,并安装docker容器 2.在docker容器中执行 docker pull jenkinsci/blueocean 3.查看已经下载的Jenkins镜像 ...
- linux下crontab安装和使用(定时任务)
在Unix和Linux的操作系统之中,cron可以让系统在指定的时间,去执行某个指定的任务,crontab命令常用于管理对应的cron. 一.crontab在线安装 yum -y install vi ...
- MongoDB小结07 - update【$addToSet & $each】
用$addToSet更新可以避免重复,将它与$each组合起来,可以一次性添加多条(就算后添加的值已存在也没有关系) db.user.update({"name":"co ...