NUnit3 Test Adapter vs2015
前言:NUnit是什么?
NUnit 是一个单元测试框架,专门针对于.NET来写的。NUnit是xUnit家族种的第4个主打产品,完全由C#语言来编写,并且编写时充分利用了许多.NET的特性,比如反射,客户属性等等。最重要的一点是它适合于所有.NET语言。
一、NUnit的安装
1、下载NUnit(NUnit-2.6.4.msi),双击点击安装直到完成。
值得提醒的一点是,如果我们要写测试的类,需要引用nunit.framework
二、查看测试结果(推荐安装插件)
一般情况下,我们运行测试后想要看到结果情况,主要是通过三种方法:
1、NUnit GUI
这个是NUnit安装完成之后的客户端,图中是它的界面,我们通过加载程序的dll或者程序集来运行测试类,查看测试情况和结果。
2、NUnit的命令行
就是用shell(图形界面的shell)来进行测试的相关事宜,在这里我们需要设置环境变量(在Path路径下添加NUnit的安装路径C:\ProgramFiles (x86)\NUnit 2.6.4\bin)
3、Visual Studio的插件Nunit Test Adapter(这个也就是VS与NUnit的整合啦)
其实本人更加偏爱这一种,不需要像前两个,每次都要打开两个窗口,而这个,我们只需要安装NUnit的一个插件,就可以在直接在VS中执行测试并且看到测试结果,如图所示。
插件的安装:在VS的工具栏中→工具→扩展和更新(U)→在弹出的框中,最左边选择“联机”,然后在搜索框中输入关键字“nunit”,查出“Nunit3 Test Adapter或Nunit Test Adapter”,点击安装即可。
Moq & RhinoMocks
使用Mock对象进行测试一般都会有以下三个关键步骤:
- 使用接口来描述需要测试的对象
- 为实际的产品代码实现这个接口
- 以测试为目的,在Mock对象中实现这个接口
在使用Mock对象的过程中,充分体现出了“面向接口编程”的设计原则,同时也促成类的良好设计。
自行实现Mock对象是相当繁琐的工作,让人幸运的是,在.NET世界中有多个优秀的Mock框架可以供大家选择,目前最常使用的无非Moq与Rhino Mocks这两个框架。两者的最新版本在Mocking API方面的用法已日趋一致,都依托Lambda表达式、泛型和扩展方法做了很大改进,目标都是让Mock对象以一种更自然的方式与多个单元测试框架进行集成,以一种清晰的语法来描述期望值、参数约束、返回值等,极大的方便开发者的使用。
由于Moq和Rhino Mocks都使用了Castle DynamicProxy这个类库动态生成代理类,因此对需要Mock的对象有一定的限制:所测试的方法必须是virtual类型。
下面就用一个例子来看看两者的不同实现(这个例子摘自Moq源代码包中的Samples,只是略做了些修改以便于展现两者的特点):
![]()
需要进行测试的对象如下示之:
展开
下面是用这两个Mock框架分别实现的单元测试代码:
| Moq 4.0 | Rhino Mocks 3.6 |
[Test] |
[Test] |
[Test] |
[Test] |
Conclusion
通过上面的实例我们可以很容易看出两者的Syntax与API都非常接近,使用两者任何一个都能方便实现你的测试目的。
References
NUnit3 Test Adapter vs2015的更多相关文章
- VS2013单元测试 的安装、创建与执行
1.要运行 vs2013单元测试 ,那么打开VS2013,选择工具-扩展和更新,搜索并安装Unit Test Generator. 如果不安装是不会出现Generate Unit Test的选项的,也 ...
- Vs2015 win10虚拟机启动问题:无法设置UDP端口 解决方法 合集(转载)
刚装的vs2015 社区版 出现这个问题,wp8.1和win10m模拟器都无法启动,找了好久找到的解决方案,放这儿供大家参考,免得大家像我一样走弯路: Windows Phone emulator n ...
- C# vs2015单元测试测试资源管理器不显示测试方法
问题描述:在用VS2015用测试框架NUnit单元测试的时候,测试资源管理器死活不出现测试方法,无法运行单元测试模块 现象如下图: 原因:nunit版本不对应 解决方案:下载nunit3.0及往上的版 ...
- 关于VS2015 ASP.NET MVC添加控制器的时候报错
调试环境:VS2015 数据库Mysql WIN10 在调试过程中出现类似下两图的同学们,注意啦. 其实也是在学习的过程中遇到这个问题的,找了很多资料都没有正面的解决添加控制器的时候报错的问题,还是 ...
- VS2015墙内创建ionic2 【利用nrm更换源,完美!】
STEP 1 设置cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 一句话建立cnpm STEP 2 安装nr ...
- VS2015 Git 源码管理工具简单入门
1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取 ...
- 关于VS2015支持编译Linux程序的问题
现状 目前已经发布的VS2015中包括VS2015 Preview 以及 VS2015 CTP6,这两个版本均不支持直接编译C++代码为Linux程序,具体情况可以参考 Visual Studio 2 ...
- VS2015企业版本(安装包+key)+ .NET Reflector 9.0
Reflector9.0系下载:https://yunpan.cn/cMQj9zWbffSqy 访问密码 55eb VS2015中文企业版: http://pan.baidu.com/s/1eRIo ...
- 设计模式(七): 通过转接头来观察"适配器模式"(Adapter Pattern)
在前面一篇博客中介绍了“命令模式”(Command Pattern),今天博客的主题是“适配器模式”(Adapter Pattern).适配器模式用处还是比较多的,如果你对“适配器模式”理解呢,那么自 ...
随机推荐
- •当对自己的技术足够自信的时候,拼的就是RP和面试技巧了(转)
前言 三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视).幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的.突而想起久未更新的博客,就冒昧学一学 ...
- httpcomponents-client-4.3.x DOC
Chapter 1. Fundamentals Prev Next Chapter 1. Fundamentals 1.1. Request execution The most essent ...
- LeetCode——Container With Most Water
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- 安装Python和pip
windows下面安装Python和pip终极教程 在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言.总的来说,个人很喜欢Python的语言风格,但是这门语言对于windows并不算 ...
- windows phone (20) Image元素
原文:windows phone (20) Image元素 之前有说道wp目前支持的图片格式为png和jpeg ,我们可以通过设置Source属性设置图片源,下面要说的是Iamge元素的部分属性,这就 ...
- MongoDB获得短暂的
大约MongoDB该数据是现在比较少.和大多数英文网站.最上面的经笔者从官方网站翻译.请翻译或误解之处请作证.然后,我们将继续关注MongoDB,和翻译“Developer Zone”和“Admin ...
- InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。
InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流.是 ...
- uva 11427 - Expect the Expected(概率)
题目链接:uva 11427 - Expect the Expected 题目大意:你每天晚上都会玩纸牌,每天固定最多玩n盘,每盘胜利的概率为p,你是一个固执的人,每天一定要保证胜局的比例大于p才会结 ...
- 使用JAVASCRIPT实现静态物体、静态方法和静态属性
Javascript语言的面向对象特征非常弱.其它面向对象语言在创建类时仅仅要使用keywordstatic就可以指定类为静态类,Javascript没有提供static这种keyword.要让Jav ...
- JDK基本介绍
JDK这是Java Development Kit 缩写,中国被称为Java开发套件.由SUN该公司提供.这是Java应用程序开发提供了编译和执行环境,所有的Java写程序都依赖于它. JDK能够将J ...