博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Microsoft Fakes隔离测试代码
阅读量:5049 次
发布时间:2019-06-12

本文共 678 字,大约阅读时间需要 2 分钟。

在单元测试(Unit Test)中我们遇到的问题之一是:假如被测试组件(类或项目)为A,组件A依赖于组件B,那么在组件A的单元测试ATest中测试A时,也需要依赖于B,在B发生改动后,就可能影响到A的测试结果。为了在测试A时隔离B对A的影响,这就是Microsoft Fakes要解决的问题。

解决上面的问题,Microsoft Fakes采用的方法是用将组件B用stubs或shims替换。

参看:

stub采用的方法是:用一个实现同样接口的类替换被依赖的类。采用这个方法的前提是:A所依赖的B,需要是“接口”,而不能是具体的类,这样才有可能创建一个实现接口B的stub。

shim采用的方法是:

所以一般情况下:use stubs for calls within your Visual Studio solution, and shims for calls to other referenced assemblies.

使用stubs

参看:

这篇文章的要点是:

需要在ATest中添加对A的引用——ATest用于测试A,当然要添加对A的引用;

需要在ATest中添加A所依赖的B引用——这是因为需要为B创建stubs

同时B可能还依赖于其他组件,也需要在ATest中添加对其他组件的引用,否则ATest还是不能正常运行。

在对B的引用中上单击右键,选择“Add Fakes Assembly"

在测试代码中,创建stub的实例并提供实现方法。

转载于:https://www.cnblogs.com/leegsh/p/3998824.html

你可能感兴趣的文章
mysql 优化
查看>>
读书笔记 ~ Nmap渗透测试指南
查看>>
WCF 配置文件
查看>>
动态调用WCF服务
查看>>
oracle导出/导入 expdp/impdp
查看>>
类指针
查看>>
css修改滚动条样式
查看>>
2018.11.15 Nginx服务器的使用
查看>>
Kinect人机交互开发实践
查看>>
百度编辑器UEditor ASP.NET示例Demo 分类: ASP.NET...
查看>>
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
Symfony翻译教程已开课
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>