写点什么

Microsoft Fakes——Shims 简介

  • 2012-06-26
  • 本文字数:550 字

    阅读完需:约 2 分钟

Shims 是 Microsoft Fakes Framework 的一部分,支持测试时的方法拦截——包括框架方法。它实现了侵入性更小的单元测试, Rich Czyzewski 在其名为“ Noninvasive Unit Testing in ASP.NET MVC4 – A Microsoft Fakes Deep Dive ”的文章中对其进行了介绍。

那么到底何为非侵入测试呢?Rich 举了一个简单的例子,目前对 FormsAuthentication.SignOut() 的调用需要包装到单独的一个类中,这样就可以对调用对象进行单元测试了,因为FormsAuthentication 依赖于 HttpContext ,而后者在运行测试时还尚未初始化。这就是侵入式的,因为这要求调整设计,目的仅仅是为了测试。

另一方面,Shims 可以拦截到对 FormsAuthentication.SignOut() 的调用,然后调用我们自己的实现——这样就不必仅仅为了测试的目的对类进行包装,同时还降低了测试的侵入性。

对于 Microsoft Fakes Framework 新手来说, Shim Types 可用于拦截并替换下面所有类型的方法调用:

  • 静态方法
  • 实例方法(针对所有实例或是某个特定实例)
  • 正常与静态的构造方法

除了模拟类之外,Shims 还可以绑定到接口上。

Fakes Framework 可与任何单元测试框架搭配使用,包括 NUnit。Rich 还对 VS 2010 引入的 Moles 技术与 VS 11 引入的 Fakes 进行了详尽的对比,他们之间的某些特性是非常相似的。

查看英文原文: Deep Dive With Microsoft Fakes – Shims

2012-06-26 04:542033
用户头像

发布了 88 篇内容, 共 264.9 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

软件开发外包优化沟通,如下4点策略保障项目成功交付

软件开发-梦幻运营部

测试管理者的晋升之路:职业发展的秘籍

测吧(北京)科技有限公司

测试

阿里妈妈按关键字或网址搜索商品 API (alimama.item_search):电商如何利用阿里妈妈API实现个性化营销

技术冰糖葫芦

API

接口测试抓包与mock 学习笔记

测试人

软件测试

纽约时报:揭秘美国比特币矿场背后的中国主人

TechubNews

精选顶级工具:2024年最受欢迎的IT项目管理软件盘点

爱吃小舅的鱼

项目管理 项目管理软件 IT项目管理

SD-WAN如何解决网络质量问题?

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

阿里妈妈按关键字或网址搜索商品 API (alimama.item_search)在电商中的发展

技术冰糖葫芦

API

管理者必备:测试管理岗位与职责的全面定义

测吧(北京)科技有限公司

测试

iOS应用程序混淆加固原理及逆向工具介绍

[分词]基于Lucene8版本的JSON结构分词器(属性值集合)

alexgaoyh

Java json lucene JSON解析器 自定义分词器

App Cleaner & Uninstaller Pro for Mac(苹果应用程序清理卸载工具) v8.2.5中文激活版

iMac小白

测试管理的真谛:价值与使命的深度解析

测吧(北京)科技有限公司

测试

微信多开助手for mac 1.5.0最新版+3.8.6集成版

iMac小白

SMART Utility for mac (硬盘检测) 3.2.7激活版

iMac小白

高可用性和高安全性的SD-WAN技术

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

SD-WAN适用的几种公司类型

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

管理型人才的心理修炼:从技术到测试管理的平稳转变

测吧(北京)科技有限公司

测试

开放原子校源行(北理工站)成功举办,多举措赋能开源人才建设,助力开源生态繁荣发展

开放原子开源基金会

平衡企业增长和盈利能力,解锁最佳财务规划策略

智达方通

企业增长 全面预算管理 盈利能力 财务规划

Permute 3 for mac(万能音视频转换器) 3.11.4中文版

iMac小白

测试管理者的成功之路:职业发展的关键因素揭示

测吧(北京)科技有限公司

测试

Emby for Mac(多媒体影音库) 1.9.9中文版

iMac小白

测试管理的方法论宝典:工具、流程与最佳实践

测吧(北京)科技有限公司

测试

孙文龙理事长参加第二十一届中国国际软件合作洽谈会主题大会并致辞

开放原子开源基金会

JavaScript 的双位非运算(~~)

南城FE

JavaScript 前端

突破职业瓶颈:测试管理者如何有效提升领导力

测吧(北京)科技有限公司

测试

测试管理的黄金法则:晋升之路上不可忽视的要点

测吧(北京)科技有限公司

测试

报告正式发布!RTE 开发者是搞音视频的那波儿人么?以及大家关心的薪资、岗位、职业发展路径...

声网

.NET发展如火如荼,这回.Net 8的野心确实不小

伤感汤姆布利柏

.net core

从技术到管理:测试管理岗位适合你吗?

测吧(北京)科技有限公司

测试

Microsoft Fakes——Shims简介_语言 & 开发_Roopesh Shenoy_InfoQ精选文章