写点什么

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:542007
用户头像

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

关注

评论

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

纯 JS 实现 WebRTC 视频通话

杨成功

音视频 WebRTC

破浪人丨国内首位 Envoy Maintainer!王佰平独家讲述四年开源之路

网易数帆

开源 云原生 Service Mesh 服务网格 envoy

Kubernetes家族容器小管家Pod在线答疑?

囧么肥事

Kubernetes 云原生 k8s #Kubernetes# 容器服务

Windows操作系统升级后会出现与CPU不兼容情况吗?

InfoQ IT百科

库存管理与资产管理的区别是什么?

低代码小观

低代码 企业管理 资产管理 资产安全 WMS仓库管理

Java并发关键字-volatile

爱好编程进阶

Java 面试 后端开发

【网络安全】8个网络安全名词解释看这里!

行云管家

网络安全 防火墙 数据安全 堡垒机

聊一聊龙蜥硬件兼容性 SIG 那些事儿 | 龙蜥 SIG

OpenAnolis小助手

开源 sig 硬件兼容 龙蜥操作系统

自动洗车加盟选择哪家比较好?

共享电单车厂家

自助洗车机价格 自助洗车加盟 自助洗车机厂家 车白兔自助洗车

面试突击42:synchronized和ReentrantLock有什么区别?

王磊

Java java面试

前端食堂技术周刊第 34 期:Node.js v18 、Nuxt 3 RC1、Parcel v2.5.0、计算机程序的构造和解释、Linux 命令行世界生存指南

童欧巴

JavaScript 前端 技术周刊

OneFlow学习笔记:从Python到C++调用过程分析

OneFlow

c++ Python Relu 调用过程分析

所以,我们依然要读书!

博文视点Broadview

不用加盟费也能加盟自助洗车吗?

共享电单车厂家

自助洗车加盟 自助洗车加盟费 车白兔自助洗车 加盟自助洗车多少钱

java程序员的AI之路-大数据篇 hadoop安装

爱好编程进阶

Java 面试 后端开发

一文深入Java浅拷贝和深拷贝

芝士味的椒盐

Java 大数据 Java 开发 深拷贝 浅拷贝

云小课|教你如何使用RDS for PostgreSQL插件

华为云开发者联盟

postgresql 插件 开源数据库 RDS for PostgreSQL

Camtasia2022mac破解版电脑录屏软件

茶色酒

Camtasia2022

FL Studio20.8最新中文破解版下载

茶色酒

重新组装电脑后需要注意些什么?

InfoQ IT百科

自助洗车机利润怎么样?加盟靠谱否

共享电单车厂家

自助洗车加盟 自助洗车机利润 车白兔自助洗车

24小时自助洗车机价格一般多少

共享电单车厂家

自助洗车机价格 自助洗车加盟 自助洗车设备多少钱 车白兔自助洗车机

想代理加盟自助洗车要怎么做?

共享电单车厂家

自助洗车机价格 自助洗车加盟 车白兔自助洗车机 自助洗车代理

抖音春晚活动背后的 Service Mesh 流量治理技术

火山引擎开发者社区

微服务 后端 后端技术

Camtasia2022汉化版本屏幕录像软件

茶色酒

Camtasia2022

通过 SingleFlight 模式学习 Go 并发编程

万俊峰Kevin

微服务 并发编程 web开发 go-zero Go 语言

CorelDRAW2022无限使用安装下载

茶色酒

cdr2022

主板的稳定性和哪些因素有关系?

InfoQ IT百科

【等保】二级等保常见问题解答汇总

行云管家

网络安全 等保 等保2.0 二级等保

电脑内存越大处理速度就越快吗?

InfoQ IT百科

焱融 YRCloudFile 跨云多源数据管理,直击自动驾驶 “割裂式存储”痛点

焱融科技

自动驾驶 云计算 分布式 高性能 文件存储

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