Visual Studio 中的Fake 和Stub

Posted on 2013-05-13 14:03  xiaomaogong  阅读(498)  评论(0编辑  收藏  举报

Visual Studio 下的位于 Assembly Microsoft.QualityTools.Testing.Fakes.dll下的单元测试框架: 共有两种(Shim , Stub)

区别

用法上:Stub用于接口或抽象类(一般不会运用于普通方法的取代),Shim基本上可用于所有非接口抽象类(用的比较多)

性能上:Stub的性能好过Shim,因为Stub其实只是原有抽象父类的一个实例,跟执行普通虚方法的性能差不多的,但是Shim则是通过动态插入替换当前代码

 

NOTE:对于基于Stub的扩展方法的Fake不是从Stub+该类,而是从Stub+ 扩展方法所属类名来进行Fake

Copyright © 2024 xiaomaogong
Powered by .NET 8.0 on Kubernetes